• pool server death and unexpected resurrection

    From Roger@21:1/5 to All on Wed Nov 20 10:34:50 2024
    ntp-4.2.8p18 using the pool and coasting along at poll 11.

    These entries appeared in protostats yesterday (2024-11-19)
    (there are no other entries between them):

    07:43:13 178.238.156.140 0013 83 unreachable
    11:14:34 178.238.156.140 0014 84 reachable

    I had assumed that ntpd would mobilize a few servers and choose
    one to replace the unreachable server. Why assume this? If the
    server had been removed from the pool then sending packets
    forever would be wrong. However, there were no new mobilization
    attempts, the server came back with the same association number.

    In this instance it was an "internet malfunction", see graphs on
    link below.

    https://www.ntppool.org/a/markcpowell

    Was my expectation wrong?

    Did Dave Hart's ntp-dev-3792-msm-v2 contain such code which
    didn't yet get into the released code?
    --
    Roger

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From "Marco Davids (SIDN)" via questions@21:1/5 to All on Wed Nov 20 15:48:00 2024
    SGksDQoNCk9uIFdlZCwgMjAgTm92IDIwMjQgMTA6MzQ6NTAgKzAwMDAgUm9nZXIgd3JvdGU6 DQoNCg0KPiBJIGhhZCBhc3N1bWVkIHRoYXQgbnRwZCB3b3VsZCBtb2JpbGl6ZSBhIGZldyBz ZXJ2ZXJzIGFuZCBjaG9vc2UNCj4gb25lIHRvIHJlcGxhY2UgdGhlIHVucmVhY2hhYmxlIHNl cnZlci4NCg0KSG93IGRpZCB5b3UgY29uZmlndXJlIHRoZSBOVFAgcG9vbCBpbiB5b3VyIG50 cC5jb25mPw0KDQpXaXRoIHRoZSAnc2VydmVyJy1kaXJlY3RpdmUgcGVyaGFwcz8NCg0KSSB3 b3VsZG4ndCByZWNvbW1lbmQgdGhhdC4NCg0KVGhlICdwb29sJy1kaXJlY3RpdmUgaXMgdGhl IHJpZ2h0IHdheSB0byBnbywgYnV0IHVuZm9ydHVuYXRlbHkgdGhlIA0KZG9jdW1lbnRhdGlv biBvZiB0aGUgcG9vbCB3YXMgbmV2ZXIgdXBkYXRlZCBmb3IgdGhpczoNCg0KaHR0cHM6Ly9j b21tdW5pdHkubnRwcG9vbC5vcmcvdC9meWktcmVtb3Zpbmctc2VydmVyLWZyb20tdGhlLXBv b2wvMjQyNA0KaHR0cHM6Ly93d3cubnRwcG9vbC5vcmcvZW4vdXNlLmh0bWwNCmh0dHBzOi8v Y29tbXVuaXR5Lm50cHBvb2wub3JnL3Qvc2hvdWxkLXRoZS1ob3ctdG8tdXNlLXBvb2xzLXBh Z2UtYmUtdXBkYXRlZC13aXRoLWFuLW9wdGlvbi10aGF0LXVzZXMtcG9vbC1pbnN0ZWFkLW9m LXNlcnZlci8yNTE4DQoNCi0tIA0KTWFyY28gRGF2aWRzDQpSZXNlYXJjaCBFbmdpbmVlcg0K DQpTSUROIHwgTWVhbmRlciA1MDEgfCA2ODI1IE1EIHwgUG9zdGJ1cyA1MDIyIHwgNjgwMiBF QSB8IEFSTkhFTQ0KVCArMzEgKDApMjYgMzUyIDU1IDAwIHwgd3d3LnNpZG5sYWJzLm5sIHwg VHdpdHRlcjogQG1hcmNvZGF2aWRzDQpodHRwczovL21hc3RvZG9uLnNvY2lhbC9AbWFyY29k YXZpZHMgfCBNYXRyaXg6IEBtYXJjbzpzaWRubGFicy5ubA0KTm9zdHI6IDExZWQwMWZmMjc3 ZDk0NzA1YzI5MzE4NjdiOGQ5MDBkOGJhY2NlNmYyN2FhZjc0NDBjZTk4YmI1MGUwMmZiMzQN
    Cg0K

    MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgMFADCABgkqhkiG9w0BBwEAAKCC DkUwggbmMIIEzqADAgECAhAxAnDUNb6bJJr4VtDh4oVJMA0GCSqGSIb3DQEBDAUAMIGIMQsw CQYDVQQGEwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkx HjAcBgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJT QSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0yMDAyMTgwMDAwMDBaFw0zMzA1MDEyMzU5 NTlaMEYxCzAJBgNVBAYTAk5MMRkwFwYDVQQKExBHRUFOVCBWZXJlbmlnaW5nMRwwGgYDVQQD ExNHRUFOVCBQZXJzb25hbCBDQSA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA s0riIl4nW+kEWxQENTIgFK600jFAxs1QwB6hRMqvnkphfy2Q3mKbM2otpELKlgE8/3AQPYBo 7p7yeORuPMnAuA+oMGRb2wbeSaLcZbpwXgfCvnKxmq97/kQkOFX706F9O7/h0yehHhDjUdyM yT0zMs4AMBDRrAFn/b2vR3j0BSYgoQs16oSqadM3p+d0vvH/YrRMtOhkvGpLuzL8m+LTAQWv QJ92NwCyKiHspoP4mLPJvVpEpDMnpDbRUQdftSpZzVKTNORvPrGPRLnJ0EEVCHR82LL6oz91 5WkrgeCY9ImuulBn4uVsd9ZpubCgM/EXvVBlViKqusChSsZEn7juIsGIiDyaIhhLsd3amm8B S3bgK6AxdSMROND6hiHT182Lmf8C+gRHxQG9McvG35uUvRu8v7bPZiJRaT7ZC2f50P4lTlnb LvWpXv5yv7hheO8bMXltiyLweLB+VNvg+GnfL6TW3Aq1yF1yrZAZzR4MbpjTWdEdSLKvz8+0 wCwscQ81nbDOwDt9vyZ+0eJXbRkWZiqScnwAg5/B1NUD4TrYlrI4n6zFp2pyYUOiuzP+as/A Znz63GvjFK69WODR2W/TK4D7VikEMhg18vhuRf4hxnWZOy0vhfDR/g3aJbdsGac+diahjEwz yB+UKJOCyzvecG8bZ/u/U8PsEMZg07iIPi8CAwEAAaOCAYswggGHMB8GA1UdIwQYMBaAFFN5 v1qqK0rPVIDh2JvAnfKyA2bLMB0GA1UdDgQWBBRpAKHHIVj44MUbILAK3adRvxPZ5DAOBgNV HQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHSUEFjAUBggrBgEFBQcDAgYI KwYBBQUHAwQwOAYDVR0gBDEwLzAtBgRVHSAAMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2Vj dGlnby5jb20vQ1BTMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9jcmwudXNlcnRydXN0LmNv bS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDB2BggrBgEFBQcBAQRq MGgwPwYIKwYBBQUHMAKGM2h0dHA6Ly9jcnQudXNlcnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FB ZGRUcnVzdENBLmNydDAlBggrBgEFBQcwAYYZaHR0cDovL29jc3AudXNlcnRydXN0LmNvbTAN BgkqhkiG9w0BAQwFAAOCAgEACgVOew2PHxM5AP1v7GLGw+3tF6rjAcx43D9Hl110Q+BABABg lkrPkES/VyMZsfuds8fcDGvGE3o5UfjSno4sij0xdKut8zMazv8/4VMKPCA3EUS0tDUoL01u gDdqwlyXuYizeXyH2ICAQfXMtS+raz7mf741CZvO50OxMUMxqljeRfVPDJQJNHOYi2pxuxgj KDYx4hdZ9G2o+oLlHhu5+anMDkE8g0tffjRKn8I1D1BmrDdWR/IdbBOj6870abYvqys1qYlP otv5N5dm+XxQ8vlrvY7+kfQaAYeO3rP1DM8BGdpEqyFVa+I0rpJPhaZkeWW7cImDQFerHW9b KzBrCC815a3WrEhNpxh72ZJZNs1HYJ+29NTB6uu4NJjaMxpk+g2puNSm4b9uVjBbPO9V6sFS G+IBqE9ckX/1XjzJtY8Grqoo4SiRb6zcHhp3mxj3oqWi8SKNohAOKnUc7RIP6ss1hqIFyv0x XZor4N9tnzD0Fo0JDIURjDPEgo5WTdti/MdGTmKFQNqxyZuT9uSI2Xvhz8p+4pCYkiZqpahZ lHqMFxdw9XRZQgrP+cgtOkWEaiNkRBbvtvLdp7MCL2OsQhQEdEbUvDM9slzZXdI7NjJokVBq 3O4pls3VD2z3L/bHVBe0rBERjyM2C/HSIh84rfmAqBgklzIOqXhd+4RzadUwggdXMIIFP6AD AgECAhEAmnB4vIupZbIWfSPPv0f0RTANBgkqhkiG9w0BAQwFADBGMQswCQYDVQQGEwJOTDEZ MBcGA1UEChMQR0VBTlQgVmVyZW5pZ2luZzEcMBoGA1UEAxMTR0VBTlQgUGVyc29uYWwgQ0Eg NDAeFw0yNDAxMDkwMDAwMDBaFw0yNTAxMDgyMzU5NTlaMIHRMQswCQYDVQQGEwJOTDETMBEG A1UECBMKR2VsZGVybGFuZDE3MDUGA1UEChMuU3RpY2h0aW5nIEludGVybmV0IERvbWVpbnJl Z2lzdHJhdGllIE5lZGVybGFuZDEXMBUGA1UEYRMOTlRSTkwtNDEyMTU3MjQxIzAhBgkqhkiG 9w0BCQEWFG1hcmNvLmRhdmlkc0BzaWRuLm5sMQ8wDQYDVQQEEwZEYXZpZHMxDjAMBgNVBCoT BU1hcmNvMRUwEwYDVQQDEwxNYXJjbyBEYXZpZHMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw ggIKAoICAQDHIhZewB/RFdtO2ROri1XWRcuHqyBXouCE34AeIThxOBtIAPKopImk815Ep7jQ vYIKlcacL1usfc3ef26pl7m5BIS0Ph7Q0PrLWyvlNb1qaHMuv/XJfPlRBPAuKYFVqqjks5tc OTBL4fmtN52oN4EA7u3XoNzw6QcUa3jCuS1Sf/WWR/cKGDRUfqweh/eKwNrb7AuA4+s4tG1I aAbS/GKF8B41X1moJCYxXGHbnm+IBpyZgFrkxOc4LbxgcSHTmf9pG59dqpBQ3HIgN9QbY9DR S5/SCrZOkq7p6JxhV4c6ckFGt3A8/a/WjHJBKqx5V42BYJj12HGPG+0w0W0FjvIemoOpw/5b k+lnzAY8oRtJljLxOJF99KCkNPkU04MoYxJ74JDSoxsBCK40UZ9pY4ClPrkQwXmAoKfwCy5i kyn8r9Y605qiQIfqamnDSaVSX/x5SEr5wIZ/Oysl+9uubxIgSAUTlu2IqlpiRU+kEES0rKRq u8HVL2LsmLYU/PjtcJOqUItP3K5Rn7R+aNRAxrPRkcG1Ba0ZiPBC/2RR3tgeDoEsMYeKk7In 561h6tZJjqsZE7F5dba7jE8HnAOAf6dSs8+hOioHyctdZModERtbufHoNrDG35cLMi0txKZN wj9Vdjd7ZKCFb7BSYwpRqBrKbOprQd4hMDGMw/JYy25zawIDAQABo4IBsjCCAa4wHwYDVR0j BBgwFoAUaQChxyFY+ODFGyCwCt2nUb8T2eQwHQYDVR0OBBYEFFr+vgLHBkpLfeDBYLMKzi/4 sv3AMA4GA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwME BggrBgEFBQcDAjBQBgNVHSAESTBHMDoGDCsGAQQBsjEBAgEKBDAqMCgGCCsGAQUFBwIBFhxo dHRwczovL3NlY3RpZ28uY29tL1NNSU1FQ1BTMAkGB2eBDAEFAwIwQgYDVR0fBDswOTA3oDWg M4YxaHR0cDovL0dFQU5ULmNybC5zZWN0aWdvLmNvbS9HRUFOVFBlcnNvbmFsQ0E0LmNybDB4 BggrBgEFBQcBAQRsMGowPQYIKwYBBQUHMAKGMWh0dHA6Ly9HRUFOVC5jcnQuc2VjdGlnby5j b20vR0VBTlRQZXJzb25hbENBNC5jcnQwKQYIKwYBBQUHMAGGHWh0dHA6Ly9HRUFOVC5vY3Nw LnNlY3RpZ28uY29tMB8GA1UdEQQYMBaBFG1hcmNvLmRhdmlkc0BzaWRuLm5sMA0GCSqGSIb3 DQEBDAUAA4ICAQAhLXzR407ZcmRw5bl1p68z1Ix8NrIi5oN0J9SxjqD3sNMY7LG68eLXyMRF FUZOg2Xc/3yaLEQAEmB8a5APaT6P0w8qUXWCo31MLkTN9YKD4d+eNoAw0av/rJLTf7Mo3ZK/ G1iD4lpfe6nuKFE/xPM0k0DPWTPKzmagsVNIyAyPMhT/fP83N98VWZkjzTvqmApvL98gLHuN J2dgOnkbndGvX6ayxXRnFQpv6oL3dZVElWXaPZksimvnB3qNO33vckD6LvWmYakYJLEI6LtY zHG269YG5F9NIU1gpCL5P/74OlWZLBZwh/VugiN9O3lH5IT1okKVp1MRKLCFPGVggzPjUFe0 CVbTZgAkhHX0zko0u7Ami68SGJh6o3K+VlThkBoYzlxE4LB4KIW8duggn6JvRnUoVQnofLMz Z7qm401o8mj5dPrGLu5oUdgN/0/1lY1iDYk0tUg/GnLCtfcq4N3BdO8+32eg0bDMlObDJeZL Wa/9p1bDmyf1zsOyRmohYOfv/GhSkvQ5owmong8xIJ+a92CrN9BqmpsM1Hh2nltiI2YrQ74v YVovpa5XxV5ElQrAQmn9VkNslO1X9V+XoQxQHqB4Zv94FZrT94IVn8pNs8XwJOj54X4tf0yo QuQigJcTptXqqQTIrMQGXopXyg57bDrsvF9ZRd64EX+UbM2t2jGCBUgwggVEAgEBMFswRjEL MAkGA1UEBhMCTkwxGTAXBgNVBAoTEEdFQU5UIFZlcmVuaWdpbmcxHDAaBgNVBAMTE0dFQU5U IFBlcnNvbmFsIENBIDQCEQCacHi8i6llshZ9I8+/R/RFMA0GCWCGSAFlAwQCAwUAoIICvjAY BgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yNDExMjAxNTQzMDFa ME8GCSqGSIb3DQEJBDFCBEAR46xvHNbu6FU5n+hckEVPAIW6jyZc1MglvPrh40Shf7cI8siG Nl/zroPlBiBWkA2WPmLW7fNNxxIO1Q//VgDRMGoGCSsGAQQBgjcQBDFdMFswRjELMAkGA1UE BhMCTkwxGTAXBgNVBAoTEEdFQU5UIFZlcmVuaWdpbmcxHDAaBgNVBAMTE0dFQU5UIFBlcnNv bmFsIENBIDQCEQCacHi8i6llshZ9I8+/R/RFMGwGCyqGSIb3DQEJEAILMV2gWzBGMQswCQYD VQQGEwJOTDEZMBcGA1UEChMQR0VBTlQgVmVyZW5pZ2luZzEcMBoGA1UEAxMTR0VBTlQgUGVy c29uYWwgQ0EgNAIRAJpweLyLqWWyFn0jz79H9EUwggFXBgkqhkiG9w0BCQ8xggFIMIIBRDAL BglghkgBZQMEASowCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA0GCCqGSIb3DQMCAgEFMA0G CCqGSIb3DQMCAgEFMAcGBSsOAwIHMA0GCCqGSIb3DQMCAgEFMAcGBSsOAwIaMAsGCWCGSAFl AwQCATALBglghkgBZQMEAgIwCwYJYIZIAWUDBAIDMAsGCWCGSAFlAwQCBDALBglghkgBZQME AgcwCwYJYIZIAWUDBAIIMAsGCWCGSAFlAwQCCTALBglghkgBZQMEAgowCwYJKoZIhvcNAQEB MAsGCSuBBRCGSD8AAjAIBgYrgQQBCwAwCAYGK4EEAQsBMAgGBiuBBAELAjAIBgYrgQQBCwMw CwYJK4EFEIZIPwADMAgGBiuBBAEOADAIBgYrgQQBDgEwCAYGK4EEAQ4CMAgGBiuBBAEOAzAN BgkqhkiG9w0BAQEFAASCAgCLR5CHLpKKdOimKqwhqVUohd/++SrDCB3ulRmA6Y3OopxNGqoo lEP5fVJfWIYQhSY8bsTVF6VtF55tm/r0K8wj1EVhklDvuj+GG3j7We0OtnJ0/LG7rbOzIifo UU7VwK4EDrAJT4N/OejB4zQF/UtEQwADbLAanhKAF1VRWH8/+UojyCmaKWMPNtTGwSJg4orH zPVx1Fs5sHtbFMf7aG132By+Qvzo66mH70J1h9VC5jchMRSyKwdM8GKGHFmuTIr7n9W/H4/b q7beQEEqbWbP9Kej7QOrLkwTQPL13vCpggazSm22t1bdVGl+k474FvVfvyQE9GdUFTVqJ22U n/ALMZ1ENTDtQ4Q6bG1gdz3e6gsgmq5FGpS2M49cp/xloQeCGcTpHG8TL2whKzO6TYXqoym5 uZeWpgVMu0wCKoW0eF3dNZodJZZ3/FXvX7sNDNFM2B/MRmdFwza0V8+rB70eKhP/w0fYgZ8N dYuH/pkl19ZxB9+jVLu2sBNpVcpS7qLJZmZOsqwiKvWptfeUYhLHvjBxTnQ59q3JpHAw7kIp 8qfXXJUZ9MXcn/i0LOMt1gNVMYYuddkHiSlgDYu8cOsa2mx5gtq8t/BH92IkNAbkp/L7pWm3 fvURkzI2KSnpcPQb9591NFmvblFEcDU4FNRuJc8Xpk0exiG8rhj/AHrr2AAAAAAAAA==

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Roger@21:1/5 to All on Wed Nov 20 17:11:46 2024
    On Wed, 20 Nov 2024 15:48:00 -0000 (UTC), "\"Marco Davids
    (SIDN)\" via questions Mailing List" <questions@lists.ntp.org>
    wrote:

    Hi,

    On Wed, 20 Nov 2024 10:34:50 +0000 Roger wrote:


    I had assumed that ntpd would mobilize a few servers and choose
    one to replace the unreachable server.

    How did you configure the NTP pool in your ntp.conf?

    With the 'server'-directive perhaps?

    No, I am using "pool 0.pool.ntp.org poll 11" (and 1. 2. 3. as
    well). This is why I thought the non-responding server would
    be replaced. If I had used "server 178.238.156.140" then I would
    expect ntpd to keep trying to get an answer.
    --
    Roger

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From brian.inglis@systematicsw.ab.ca@21:1/5 to Roger on Wed Nov 20 19:53:00 2024
    On 2024-11-20 10:11, Roger wrote:
    On Wed, 20 Nov 2024 15:48:00 -0000 (UTC), "\"Marco Davids
    (SIDN)\" via questions Mailing List" wrote:
    On Wed, 20 Nov 2024 10:34:50 +0000 Roger wrote:
    I had assumed that ntpd would mobilize a few servers and choose
    one to replace the unreachable server.

    How did you configure the NTP pool in your ntp.conf?

    With the 'server'-directive perhaps?

    No, I am using "pool 0.pool.ntp.org poll 11" (and 1. 2. 3. as
    well). This is why I thought the non-responding server would
    be replaced. If I had used "server 178.238.156.140" then I would
    expect ntpd to keep trying to get an answer.

    Maybe add "iburst preempt" options and drop "poll 11" or perhaps change to "maxpoll 11" or higher, unless you have very good reasons to require a longer interval than the default maximum, instead of adaptive polling based on the error.

    --
    Take care. Thanks, Brian Inglis Calgary, Alberta, Canada

    La perfection est atteinte Perfection is achieved
    non pas lorsqu'il n'y a plus rien à ajouter not when there is no more to add mais lorsqu'il n'y a plus rien à retirer but when there is no more to cut
    -- Antoine de Saint-Exupéry

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Roger@21:1/5 to brian.inglis@systematicsw.ab.ca on Wed Nov 20 21:32:08 2024
    On Wed, 20 Nov 2024 19:53:00 -0000 (UTC),
    brian.inglis@systematicsw.ab.ca wrote:

    On 2024-11-20 10:11, Roger wrote:
    On Wed, 20 Nov 2024 15:48:00 -0000 (UTC), "\"Marco Davids
    (SIDN)\" via questions Mailing List" wrote:
    On Wed, 20 Nov 2024 10:34:50 +0000 Roger wrote:
    I had assumed that ntpd would mobilize a few servers and choose
    one to replace the unreachable server.

    How did you configure the NTP pool in your ntp.conf?

    With the 'server'-directive perhaps?

    No, I am using "pool 0.pool.ntp.org poll 11" (and 1. 2. 3. as
    well). This is why I thought the non-responding server would
    be replaced. If I had used "server 178.238.156.140" then I would
    expect ntpd to keep trying to get an answer.

    Maybe add "iburst preempt" options and drop "poll 11" or perhaps change to >"maxpoll 11" or higher, unless you have very good reasons to require a longer >interval than the default maximum, instead of adaptive polling based on the error.

    Well, the documentation (confopt) tells me that the pool command
    "mobilizes a preemptable pool client mode association for the
    DNS name specified." Why would adding "preempt" change anything?

    Although I have "pool ... poll 11" the poll does shorten
    sometimes, going down to poll 6 if necessary. It seems to be
    when the temperature (whether ambient or due to processor load)
    changes too quickly.

    My question is why would a preemptable server, acquired using
    "pool ...", continue to be polled after it has stopped
    responding, i.e., the reach has gone to 0? It is a
    misunderstanding on my part or is there an bug in the code?
    --
    Roger

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Brian Inglis@21:1/5 to Roger on Thu Nov 21 17:03:00 2024
    On 2024-11-20 14:32, Roger wrote:
    On Wed, 20 Nov 2024 19:53:00 -0000 (UTC), Brian Inglis wrote:
    On 2024-11-20 10:11, Roger wrote:
    On Wed, 20 Nov 2024 15:48:00 -0000 (UTC), "\"Marco Davids
    (SIDN)\" via questions Mailing List" wrote:
    On Wed, 20 Nov 2024 10:34:50 +0000 Roger wrote:
    I had assumed that ntpd would mobilize a few servers and choose
    one to replace the unreachable server.

    How did you configure the NTP pool in your ntp.conf?

    With the 'server'-directive perhaps?

    No, I am using "pool 0.pool.ntp.org poll 11" (and 1. 2. 3. as
    well). This is why I thought the non-responding server would
    be replaced. If I had used "server 178.238.156.140" then I would
    expect ntpd to keep trying to get an answer.

    Maybe add "iburst preempt" options and drop "poll 11" or perhaps change to >> "maxpoll 11" or higher, unless you have very good reasons to require a longer
    interval than the default maximum, instead of adaptive polling based on the error.

    Well, the documentation (confopt) tells me that the pool command
    "mobilizes a preemptable pool client mode association for the
    DNS name specified." Why would adding "preempt" change anything?

    It *may* be required and can never hurt:

    $ grep 'pool.*preempt' ~/src/time/ntp/ntp-4.2.8p18/ntpd/complete.conf.in
    pool 2.ubuntu.pool.ntp.org. iburst preempt

    $ man 5 ntp.conf
    ...
    Configuration Commands
    ...
    *pool* For type s addresses, this command mobilizes a persistent
    client mode association with a number of remote servers. In
    this mode the local clock can synchronized to the remote server,
    but the remote server can never be synchronized to the local
    clock.
    ...
    Options:
    ...
    *preempt* Says the association can be preempted.
    ...
    This manual page was AutoGen‐erated from the ntp.conf option definitions.

    4.2.8p18 25 May 2024 ntp.conf(5man)

    although the older:

    https://www.ntp.org/documentation/4.2.8-series/confopt/#server-commands

    says:

    "Server Commands and Options
    Last update: March 23, 2023 21:05 UTC (6ad51a76f)
    ...
    Server Commands
    ...
    pool
    For type s addresses (only) this command mobilizes a preemptable pool client mode association for the DNS name specified. "
    ...
    Server Command Options
    ...
    preempt
    Specifies the association as preemptable rather than the default persistent. This option is ignored with the broadcast command and is most useful with the manycastclient and pool commands."

    Although I have "pool ... poll 11" the poll does shorten
    sometimes, going down to poll 6 if necessary. It seems to be
    when the temperature (whether ambient or due to processor load)
    changes too quickly.

    My question is why would a preemptable server, acquired using
    "pool ...", continue to be polled after it has stopped
    responding, i.e., the reach has gone to 0? It is a
    misunderstanding on my part or is there an bug in the code?

    Or a doc bug?

    --
    Take care. Thanks, Brian Inglis Calgary, Alberta, Canada

    La perfection est atteinte Perfection is achieved
    non pas lorsqu'il n'y a plus rien à ajouter not when there is no more to add mais lorsqu'il n'y a plus rien à retirer but when there is no more to cut
    -- Antoine de Saint-Exupéry

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Roger@21:1/5 to Brian.Inglis@SystematicSW.ab.ca on Thu Nov 21 20:28:10 2024
    On Thu, 21 Nov 2024 17:03:00 -0000 (UTC), "Brian Inglis" <Brian.Inglis@SystematicSW.ab.ca> wrote:

    HUGE snip

    Or a doc bug?

    Thank you. That's interesting. I was looking at confopt.html
    contained within the ntp-4.2.8p18 source tree. I see that its
    file date is 2020-03-03 whereas the man page has a file date of
    2024-05-25. I shall now add preempt to my pool lines.
    --
    Roger

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dave Hart via questions Mailing Lis@21:1/5 to Brian.Inglis@systematicsw.ab.ca on Fri Nov 22 05:58:00 2024
    To: Brian.Inglis@systematicsw.ab.ca

    On Thu, Nov 21, 2024 at 4:56 PM Brian Inglis < Brian.Inglis@systematicsw.ab.ca> wrote:

    On 2024-11-20 14:32, Roger wrote:
    On Wed, 20 Nov 2024 19:53:00 -0000 (UTC), Brian Inglis wrote:

    Maybe add "iburst preempt" options and drop "poll 11" or perhaps change
    to
    "maxpoll 11" or higher, unless you have very good reasons to require a longer
    interval than the default maximum, instead of adaptive polling based on the error.

    Well, the documentation (confopt) tells me that the pool command
    "mobilizes a preemptable pool client mode association for the
    DNS name specified." Why would adding "preempt" change anything?

    It *may* be required and can never hurt:


    In fact it won't change anything. The only options propagated from the "
    pool" directive in ntp.conf (and thereby set on the prototype pool
    association listed with refid POOL in the peers billboard) to the resulting pool server associations are "iburst" and "noselect". See POOL_FLAG_PMASK
    in source code file ntp_proto.c.

    The preemptible option is forced on for pool servers, so they are
    preemptible with or without that option. However, that option doesn't do
    much in 4.2.8 as the code intended to preempt useless servers has an
    off-by-one error that's corrected in my test 3792 release, so preemption
    only happens in the unusual case where there are more than 2 times as many
    pool or manycast client associations as "tos maxclock" which defaults to
    10. Arguably this could be fixed in the stable 4.2.8 branch but it would
    be a substantial change in behavior without any configuration change that
    might break existing setups that depend on the off-by-one error.

    As an aside, using "preempt" on a non-pool non-manycastclient association (basically, configured via "server" or "peer") seems quixotic to me, as it allows the association to be removed but nothing is done to replace it. I
    have a difficult time imagining where that might be useful. It may have
    been useful in the pre-2009 implementation of "pool" which I'm having a
    hard time remembering because I thought it was primitive and needed improvement, as it did all its work at startup and never changed the
    servers selected once up and running. I re-implemented it to the current iteration, but didn't catch that the preemption was suffering the aforementioned off-by-one error, or it wasn't back then.

    If you're wondering why I mentioned "manycastclient", it shares much of the implementation with "pool". They use different approaches to finding
    servers, but the rest of the code is common. Both are intended to be
    automatic server discovery schemes that discard, or preempt, servers which haven't been useful for 10 poll intervals so that another server can be solicited to replace it.


    $ grep 'pool.*preempt' ~/src/time/ntp/ntp-4.2.8p18/ntpd/complete.conf.in
    pool 2.ubuntu.pool.ntp.org. iburst preempt


    complete.conf.in is part of the "make check" tests and is not intended to suggest useful configurations. Rather it's used both to ensure every
    keyword in the configuration file parser is covered, and to ensure a configuration can successfully round-trip through ntpd's reading and
    applying the configuration and exporting the configuration via the --saveconfigquit command-line option added specifically for that developer
    test to catch changes which break that functionality. It's no coincidence it is ordered exactly the same as the output of ntpq's saveconfig command,
    which requires authentication and that a directory for such saved
    configuration files has been specified in ntp.conf with "saveconfigdir".


    $ man 5 ntp.conf
    ...
    Configuration Commands
    ...
    *pool* For type s addresses, this command mobilizes a persistent
    client mode association with a number of remote servers. In
    this mode the local clock can synchronized to the remote server,
    but the remote server can never be synchronized to the local
    clock.
    ...
    Options:
    ...
    *preempt* Says the association can be preempted.
    ...
    This manual page was AutoGen‐erated from the ntp.conf option definitions.

    4.2.8p18 25 May 2024 ntp.conf(5man)

    although the older:


    https://www.ntp.org/documentation/4.2.8-series/confopt/#server-commands

    says:

    "Server Commands and Options
    Last update: March 23, 2023 21:05 UTC (6ad51a76f)
    ...
    Server Commands
    ...
    pool
    For type s addresses (only) this command mobilizes a preemptable pool
    client
    mode association for the DNS name specified. "
    ...
    Server Command Options
    ...
    preempt
    Specifies the association as preemptable rather than the default
    persistent.
    This option is ignored with the broadcast command and is most useful with
    the
    manycastclient and pool commands."


    Despite the timestamps you quoted, the web version is likely newer.
    Autogen is run against the documentation source files with every release,
    so that timestamp reflects the release date, not the last update of the documentation source files (.html in this case).

    Since the overhaul of the www.ntp.org website a few years back, that documentation sadly is maintained in two places, and there's no process to ensure they stay in sync. The web version is considered the more
    authoritative source, and is maintained in .md (Markdown) published only
    via the converted HTML on the website. It started as a copy of the documentation from the source tarballs' /html directory, but after
    conversion to Markdown and subsequent improvements, those changes have generally not been made to the HTML version distributed with the source.
    I'm partly to blame because I find writing documentation tedious enough
    without having to update it in two places, and I've been kept quite busy
    with coding work and haven't wanted to take the time to correct
    documentation that no longer reflects the reality of the code. In theory
    one day I will have time to dedicate to that, but I welcome anyone who
    enjoys documentation work or at least really wants accurate NTP
    documentation to please volunteer to help out.


    My question is why would a preemptable server, acquired using
    "pool ...", continue to be polled after it has stopped
    responding, i.e., the reach has gone to 0? It is a
    misunderstanding on my part or is there an bug in the code?

    Or a doc bug?


    A doc bug and an off-by-one bug in the preemption logic.

    Cheers,
    Dave Hart

    <div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:&quot;trebuchet ms&quot;,sans-serif"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Nov 21, 2024 at 4:56 PM Brian Inglis &lt;<a href="
    mailto:Brian.Inglis@systematicsw.ab.ca">Brian.Inglis@systematicsw.ab.ca</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 2024-11-20 14:32, Roger wrote:<br>
    &gt; On Wed, 20 Nov 2024 19:53:00 -0000 (UTC), Brian Inglis wrote: </blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
    &gt;&gt; Maybe add &quot;iburst preempt&quot; options and drop &quot;poll 11&quot; or perhaps change to<br>
    &gt;&gt; &quot;maxpoll 11&quot; or higher, unless you have very good reasons to require a longer<br>
    &gt;&gt; interval than the default maximum, instead of adaptive polling based on the error.<br>
    &gt; <br>
    &gt; Well, the documentation (confopt) tells me that the pool command<br>
    &gt; &quot;mobilizes a preemptable pool client mode association for the<br> &gt; DNS name specified.&quot; Why would adding &quot;preempt&quot; change anything?<br>

    It *may* be required and can never hurt:<br></blockquote><div><br></div><div><div class="gmail_default" style=""><span style="font-family:&quot;trebuchet ms&quot;,sans-serif">In fact it won&#39;t change anything.  The only options propagated from the &
    quot;</span><font face="monospace">pool</font><font face="trebuchet ms, sans-serif">&quot; directive in ntp.conf (and thereby set on the prototype pool association listed with refid </font><font face="monospace">POOL</font><font face="trebuchet ms, sans-
    serif"> in the peers billboard) to the resulting pool server associations are &quot;</font><font face="monospace">iburst</font><font face="trebuchet ms, sans-serif">&quot; and &quot;</font><font face="monospace">noselect</font><font face="trebuchet ms,
    sans-serif">&quot;.  See POOL_FLAG_PMASK in source code file ntp_proto.c.</font></div><br></div><div><div class="gmail_default" style=""><span style="font-family:&quot;trebuchet ms&quot;,sans-serif">The preemptible option is forced on for pool servers,
    so they are preemptible with or without that option.  However, that option doesn&#39;t do much in 4.2.8 as the code intended to preempt useless servers has an off-by-one error that&#39;s corrected in my test 3792 release, so preemption only happens in
    the unusual case where there are more than 2 times as many pool or manycast client associations as &quot;</span><font face="monospace">tos maxclock</font><font face="trebuchet ms, sans-serif">&quot; which defaults to 10.  Arguably this could be fixed in
    the stable 4.2.8 branch but it would be a substantial change in behavior without any configuration change that might break existing setups that depend on the off-by-one error.</font></div><div class="gmail_default" style=""><font face="trebuchet ms, sans-
    serif"><br></font></div><div class="gmail_default" style=""><font face="trebuchet ms, sans-serif">As an aside, using &quot;</font><font face="monospace">preempt</font><font face="trebuchet ms, sans-serif">&quot; on a non-pool non-manycastclient 
    association (basically, configured via &quot;</font><font face="monospace">server</font><font face="trebuchet ms, sans-serif">&quot; or &quot;</font><font face="monospace">peer</font><font face="trebuchet ms, sans-serif">&quot;) seems quixotic to me, as
    it allows the association to be removed but nothing is done to replace it.  I have a difficult time imagining where that might be useful.  It may have been useful in the pre-2009 implementation of &quot;</font><font face="monospace">pool</font><font
    face="trebuchet ms, sans-serif">&quot; which I&#39;m having a hard time remembering because I thought it was primitive and needed improvement, as it did all its work at startup and never changed the servers selected once up and running.  I re-
    implemented it to the current iteration, but didn&#39;t catch that the preemption was suffering the aforementioned off-by-one error, or it wasn&#39;t back then.</font></div><div class="gmail_default" style=""><font face="trebuchet ms, sans-serif"><br></
    font></div><div class="gmail_default" style=""><font face="trebuchet ms, sans-serif">If you&#39;re wondering why I mentioned &quot;</font><font face="monospace">manycastclient</font><font face="trebuchet ms, sans-serif">&quot;, it shares much of the
    implementation with &quot;</font><font face="monospace">pool</font><font face="trebuchet ms, sans-serif">&quot;.  They use different approaches to finding servers, but the rest of the code is common.  Both are intended to be automatic server discovery
    schemes that discard, or preempt, servers which haven&#39;t been useful for 10 poll intervals so that another server can be solicited to replace it.</font></div></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-
    left:1px solid rgb(204,204,204);padding-left:1ex">
    $ grep &#39;pool.*preempt&#39; ~/src/time/ntp/ntp-4.2.8p18/ntpd/<a href="http://complete.conf.in" rel="noreferrer" target="_blank">complete.conf.in</a><br>
    pool <a href="http://2.ubuntu.pool.ntp.org" rel="noreferrer" target="_blank">2.ubuntu.pool.ntp.org</a>. iburst preempt<br></blockquote><div><br></div><div><div class="gmail_default" style=""><font face="monospace"><a href="http://complete.conf.in">
    complete.conf.in</a></font><span style="font-family:&quot;trebuchet ms&quot;,sans-serif"> is part of the &quot;make check&quot; tests and is not intended to suggest useful configurations.  Rather it&#39;s used both to ensure every keyword in the
    configuration file parser is covered, and to ensure a configuration can successfully round-trip through ntpd&#39;s reading and applying the configuration and exporting the configuration via the </span><font face="monospace">--saveconfigquit</font><font
    face="trebuchet ms, sans-serif"> command-line option added specifically for that developer test to catch changes which break that functionality.  It&#39;s </font>no coincidence<font face="trebuchet ms, sans-serif"> </font>it is<font face="trebuchet ms,
    sans-serif"> ordered exactly the same as the output of </font><font face="monospace">ntpq</font><font face="trebuchet ms, sans-serif">&#39;s </font><font face="monospace">saveconfig</font><font face="trebuchet ms, sans-serif"> command, which requires
    authentication and that a directory for such saved configuration files has been specified in ntp.conf with &quot;</font><font face="monospace">saveconfigdir</font><font face="trebuchet ms, sans-serif">&quot;.</font></div></div><div> </div><blockquote
    class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
    $ man 5 ntp.conf<br>
    ...<br>
    Configuration Commands<br>
    ...<br>
    *pool*  For type s addresses, this command mobilizes a persistent<br>
            client mode association with a number of remote servers. In<br>
            this mode the local clock can synchronized to the remote server,<br>
            but the remote server can never be synchronized to the local<br>
            clock.<br>
    ...<br>
    Options:<br>
    ...<br>
    *preempt*       Says the association can be preempted.<br>
    ...<br>
    This manual page was AutoGen‐erated from the ntp.conf option definitions.<br>

    4.2.8p18        25 May 2024     ntp.conf(5man)<br>

    although the older:<br>

            <a href="https://www.ntp.org/documentation/4.2.8-series/confopt/#server-commands" rel="noreferrer" target="_blank">https://www.ntp.org/documentation/4.2.8-series/confopt/#server-commands</a><br>

    says:<br>

    &quot;Server Commands and Options<br>
    Last update: March 23, 2023 21:05 UTC (6ad51a76f)<br>
    ...<br>
    Server Commands<br>
    ...<br>
    pool<br>
    For type s addresses (only) this command mobilizes a preemptable pool client <br>
    mode association for the DNS name specified. &quot;<br>
    ...<br>
    Server Command Options<br>
    ...<br>
    preempt<br>
    Specifies the association as preemptable rather than the default persistent. <br>
    This option is ignored with the broadcast command and is most useful with the <br>
    manycastclient and pool commands.&quot;<br></blockquote><div><br></div><div><div class="gmail_default" style="font-family:&quot;trebuchet ms&quot;,sans-serif">Despite the timestamps you quoted, the web version is likely newer.  Autogen is run against
    the documentation source files with every release, so that timestamp reflects the release date, not the last update of the documentation source files (.html in this case).</div><div class="gmail_default" style="font-family:&quot;trebuchet ms&quot;,sans-
    serif"><br></div><div class="gmail_default" style="font-family:&quot;trebuchet ms&quot;,sans-serif">Since the overhaul of the <a href="http://www.ntp.org">www.ntp.org</a> website a few years back, that documentation sadly is maintained in two places, and
    there&#39;s no process to ensure they stay in sync.  The web version is considered the more authoritative source, and is maintained in .md (Markdown) published only via the converted HTML on the website.  It started as a copy of the documentation from
    the source tarballs&#39; /html directory, but after conversion to Markdown and subsequent improvements, those changes have generally not been made to the HTML version distributed with the source.  I&#39;m partly to blame because I find writing
    documentation tedious enough without having to update it in two places, and I&#39;ve been kept quite busy with coding work and haven&#39;t wanted to take the time to correct documentation that no longer reflects the reality of the code.  In theory one
    day I will have time to dedicate to that, but I welcome anyone who enjoys documentation work or at least really wants accurate NTP documentation to please volunteer to help out.</div></div><div> </div><blockquote class="gmail_quote" style="margin:0px
    0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
    &gt; My question is why would a preemptable server, acquired using<br>
    &gt; &quot;pool ...&quot;, continue to be polled after it has stopped<br>
    &gt; responding, i.e., the reach has gone to 0? It is a<br>
    &gt; misunderstanding on my part or is there an bug in the code?<br>

    Or a doc bug?<br></blockquote><div><br></div><div><div class="gmail_default" style="font-family:&quot;trebuchet ms&quot;,sans-serif">A doc bug and an off-by-one bug in the preemption logic.</div></div><div class="gmail_default" style="font-family:&quot;
    trebuchet ms&quot;,sans-serif"><br></div><div class="gmail_default" style="font-family:&quot;trebuchet ms&quot;,sans-serif">Cheers,</div><div class="gmail_default" style="font-family:&quot;trebuchet ms&quot;,sans-serif">Dave Hart</div></div></div>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Harlan Stenn via questions Mailing@21:1/5 to Roger on Fri Nov 22 07:23:00 2024
    On 11/21/2024 12:28 PM, Roger wrote:
    On Thu, 21 Nov 2024 17:03:00 -0000 (UTC), "Brian Inglis" <Brian.Inglis@SystematicSW.ab.ca> wrote:

    HUGE snip

    Or a doc bug?

    Thank you. That's interesting. I was looking at confopt.html
    contained within the ntp-4.2.8p18 source tree. I see that its
    file date is 2020-03-03 whereas the man page has a file date of
    2024-05-25. I shall now add preempt to my pool lines.

    The dates can be misleading.

    The website is now generated via Hugo, so (as best I understand) Dru
    takes the man pages, converts them to Hugo, and that's what's on the
    website.

    So if the date of a page on the website is more recent than the date on
    the man page, that doesn't mean that the content is newer, it just means
    it was (at least) formatted more recently.

    The intent and expectation is that if a change is made to the Hugo
    version of the docs, that change is applied "upstream" as well.

    The goal is to get the master documentation formatted for Hugo, and at
    that point we'll be generating all of the documentation output targets
    from the same (single) source documents, and the dates should then all
    match.

    --
    Harlan Stenn <stenn@nwtime.org>
    http://networktimefoundation.org - be a member!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Roger@21:1/5 to questions Mailing List" on Fri Nov 22 08:51:41 2024
    On Fri, 22 Nov 2024 07:23:00 -0000 (UTC), "Harlan Stenn via
    questions Mailing List" <questions@lists.ntp.org> wrote:

    On 11/21/2024 12:28 PM, Roger wrote:
    On Thu, 21 Nov 2024 17:03:00 -0000 (UTC), "Brian Inglis"
    <Brian.Inglis@SystematicSW.ab.ca> wrote:

    HUGE snip

    Or a doc bug?

    Thank you. That's interesting. I was looking at confopt.html
    contained within the ntp-4.2.8p18 source tree. I see that its
    file date is 2020-03-03 whereas the man page has a file date of
    2024-05-25. I shall now add preempt to my pool lines.

    The dates can be misleading.

    The website is now generated via Hugo, so (as best I understand) Dru
    takes the man pages, converts them to Hugo, and that's what's on the
    website.

    So if the date of a page on the website is more recent than the date on
    the man page, that doesn't mean that the content is newer, it just means
    it was (at least) formatted more recently.

    The intent and expectation is that if a change is made to the Hugo
    version of the docs, that change is applied "upstream" as well.

    The goal is to get the master documentation formatted for Hugo, and at
    that point we'll be generating all of the documentation output targets
    from the same (single) source documents, and the dates should then all
    match.

    Thank you for the explanation. Unfortunately that hasn't reached
    the 4.2.8p18 source tar and so "pool" is preemptable or
    persistent according to where one looks. I'm sure I've read
    somewhere that writing documentation is everyone's least
    favourite pasttime.
    --
    Roger

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Roger@21:1/5 to questions Mailing List" on Fri Nov 22 08:52:04 2024
    On Fri, 22 Nov 2024 05:58:00 -0000 (UTC), "Dave Hart via
    questions Mailing List" <questions@lists.ntp.org> wrote:

    As an aside, using "preempt" on a non-pool non-manycastclient association >(basically, configured via "server" or "peer") seems quixotic to me, as it >allows the association to be removed but nothing is done to replace it. I >have a difficult time imagining where that might be useful.

    Something in the ntp.conf man page I can't get my head around is
    why one would have "pool ... prefer". If one were using only one
    pool line it would, presumably, result in all servers being
    preferred.
    --
    Roger

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Roger@21:1/5 to davehart@gmail.com on Fri Nov 22 08:51:13 2024
    On Fri, 22 Nov 2024 05:13:05 -0000 (UTC), "Dave Hart"
    <davehart@gmail.com> wrote:

    On Wed, Nov 20, 2024 at 6:10?PM Roger <invalid@invalid.invalid> wrote:

    On Wed, 20 Nov 2024 15:48:00 -0000 (UTC), "\"Marco Davids
    (SIDN)\" via questions Mailing List" <questions@lists.ntp.org>
    wrote:

    How did you configure the NTP pool in your ntp.conf?

    With the 'server'-directive perhaps?

    No, I am using "pool 0.pool.ntp.org poll 11" (and 1. 2. 3. as
    well). [...]


    Are you sure you didn't mean "maxpoll 11"? My reading of the code suggests >the line you provided would be rejected as a syntax error by ntpd.

    You are correct. ntp.conf does have "maxpoll 11". I was
    concentrating on not muddling my "pool"s and "poll"s and
    missed out the "max".
    --
    Roger

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Harlan Stenn via questions Mailing@21:1/5 to Roger on Fri Nov 22 11:13:00 2024
    On 11/22/2024 12:52 AM, Roger wrote:
    On Fri, 22 Nov 2024 05:58:00 -0000 (UTC), "Dave Hart via
    questions Mailing List" <questions@lists.ntp.org> wrote:

    As an aside, using "preempt" on a non-pool non-manycastclient association
    (basically, configured via "server" or "peer") seems quixotic to me, as it >> allows the association to be removed but nothing is done to replace it. I >> have a difficult time imagining where that might be useful.

    Something in the ntp.conf man page I can't get my head around is
    why one would have "pool ... prefer". If one were using only one
    pool line it would, presumably, result in all servers being
    preferred.

    Note that the BUGS section of the ntp.conf man page says:

    The syntax checking is not picky; some combinations of
    ridiculous and even hilarious options and modes may not be
    detected.

    In the above case, I'd recommend looking at the code and perhaps seeing
    if the description of the "prefer" options could be improved.

    --
    Harlan Stenn <stenn@nwtime.org>
    http://networktimefoundation.org - be a member!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Roger@21:1/5 to questions Mailing List" on Fri Nov 22 12:36:49 2024
    On Fri, 22 Nov 2024 11:13:00 -0000 (UTC), "Harlan Stenn via
    questions Mailing List" <questions@lists.ntp.org> wrote:

    On 11/22/2024 12:52 AM, Roger wrote:
    On Fri, 22 Nov 2024 05:58:00 -0000 (UTC), "Dave Hart via
    questions Mailing List" <questions@lists.ntp.org> wrote:

    As an aside, using "preempt" on a non-pool non-manycastclient association >>> (basically, configured via "server" or "peer") seems quixotic to me, as it >>> allows the association to be removed but nothing is done to replace it. I >>> have a difficult time imagining where that might be useful.

    Something in the ntp.conf man page I can't get my head around is
    why one would have "pool ... prefer". If one were using only one
    pool line it would, presumably, result in all servers being
    preferred.

    Note that the BUGS section of the ntp.conf man page says:

    The syntax checking is not picky; some combinations of
    ridiculous and even hilarious options and modes may not be
    detected.

    I'd forgotten that. I've reached the age where I sometimes feel
    as though I've forgotten more than I ever knew.

    In the above case, I'd recommend looking at the code and perhaps seeing
    if the description of the "prefer" options could be improved.

    That might be beyond my capabilities. The pool options given in
    the ntp.conf man page are:

    pool address [burst] [iburst] [version version] [prefer]
    [minpoll minpoll] [maxpoll maxpoll] [xmtnonce]

    Removing "[prefer]" would be a good idea.

    The explanation of "prefer" seems okay; the words "this host
    will be chosen" imply that only one server should be marked
    thus.
    --
    Roger

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Brian Inglis@21:1/5 to All on Fri Nov 22 19:58:05 2024
    On 2024-11-21 22:55, Dave Hart (via questions Mailing List) wrote:


    On Thu, Nov 21, 2024 at 4:56 PM Brian Inglis <Brian.Inglis@systematicsw.ab.ca
    <mailto:Brian.Inglis@systematicsw.ab.ca>> wrote:

    On 2024-11-20 14:32, Roger wrote:
    > On Wed, 20 Nov 2024 19:53:00 -0000 (UTC), Brian Inglis wrote:

    >> Maybe add "iburst preempt" options and drop "poll 11" or perhaps change to
    >> "maxpoll 11" or higher, unless you have very good reasons to require a
    longer
    >> interval than the default maximum, instead of adaptive polling based on
    the error.
    >
    > Well, the documentation (confopt) tells me that the pool command
    > "mobilizes a preemptable pool client mode association for the
    > DNS name specified." Why would adding "preempt" change anything?

    It *may* be required and can never hurt:


    In fact it won't change anything.  The only options propagated from the "pool"
    directive in ntp.conf (and thereby set on the prototype pool association listed
    with refid POOLin the peers billboard) to the resulting pool server associations
    are "iburst" and "noselect".  See POOL_FLAG_PMASK in source code file ntp_proto.c.

    I saw that and for mcast clients in protos, and it is documented.

    But it looks as if the option is set on when flagged in ntp_peer.c.

    The preemptible option is forced on for pool servers, so they are preemptible with or without that option.  However, that option doesn't do much in 4.2.8 as
    the code intended to preempt useless servers has an off-by-one error that's corrected in my test 3792 release, so preemption only happens in the unusual case where there are more than 2 times as many pool or manycast client associations as "tos maxclock" which defaults to 10.  Arguably this could be fixed in the stable 4.2.8 branch but it would be a substantial change in behavior without any configuration change that might break existing setups that
    depend on the off-by-one error.

    I am not seeing anywhere else that preempt is set on for any peers?

    As an aside, using "preempt" on a non-pool non-manycastclient association (basically, configured via "server" or "peer") seems quixotic to me, as it allows the association to be removed but nothing is done to replace it.  I have
    a difficult time imagining where that might be useful.  It may have been useful
    in the pre-2009 implementation of "pool" which I'm having a hard time remembering because I thought it was primitive and needed improvement, as it did
    all its work at startup and never changed the servers selected once up and running.  I re-implemented it to the current iteration, but didn't catch that
    the preemption was suffering the aforementioned off-by-one error, or it wasn't
    back then.

    It can be useful when you have an adequate number of (some local) backup servers
    or (former) pools, but some (local) have an annoying habit of going unreachable,
    but not being noticed, and support not being responsive to hints for weeks, e.g.

    ...
    server ...
    ...
    server ntp2.cpsc.ucalgary.ca iburst preempt # U Calgary T2N AB CA server ntp1.yycix.ca iburst preempt # YYCIX, Calgary T2P AB CA server ntp2.switch.ca iburst preempt # TELUS, Edmonton T6H AB CA ...
    server ...
    ...
    tos minsane 3 minclock 5 maxclock 7

    If you're wondering why I mentioned "manycastclient", it shares much of the implementation with "pool".  They use different approaches to finding servers,
    but the rest of the code is common.  Both are intended to be automatic server
    discovery schemes that discard, or preempt, servers which haven't been useful for 10 poll intervals so that another server can be solicited to replace it.

    I noticed those comments.

    $ grep 'pool.*preempt' ~/src/time/ntp/ntp-4.2.8p18/ntpd/complete.conf.in
    <http://complete.conf.in>
    pool 2.ubuntu.pool.ntp.org <http://2.ubuntu.pool.ntp.org>. iburst preempt


    complete.conf.in <http://complete.conf.in>is part of the "make check" tests and
    is not intended to suggest useful configurations.  Rather it's used both to ensure every keyword in the configuration file parser is covered, and to ensure
    a configuration can successfully round-trip through ntpd's reading and applying
    the configuration and exporting the configuration via the -- saveconfigquit command-line option added specifically for that developer test to
    catch changes which break that functionality.  It's no coincidenceit isordered
    exactly the same as the output of ntpq's saveconfigcommand, which requires authentication and that a directory for such saved configuration files has been
    specified in ntp.conf with "saveconfigdir".

    Implies that pool will round trip with iburst preempt?

    $ man 5 ntp.conf
    ...
    Configuration Commands
    ...
    *pool*  For type s addresses, this command mobilizes a persistent
            client mode association with a number of remote servers. In
            this mode the local clock can synchronized to the remote server,
            but the remote server can never be synchronized to the local
            clock.
    ...
    Options:
    ...
    *preempt*       Says the association can be preempted.
    ...
    This manual page was AutoGen‐erated from the ntp.conf option definitions.

    4.2.8p18        25 May 2024     ntp.conf(5man)

    although the older:

    https://www.ntp.org/documentation/4.2.8-series/confopt/#server-commands
    <https://www.ntp.org/documentation/4.2.8-series/confopt/#server-commands>

    says:

    "Server Commands and Options
    Last update: March 23, 2023 21:05 UTC (6ad51a76f)
    ...
    Server Commands
    ...
    pool
    For type s addresses (only) this command mobilizes a preemptable pool client
    mode association for the DNS name specified. "
    ...
    Server Command Options
    ...
    preempt
    Specifies the association as preemptable rather than the default persistent.
    This option is ignored with the broadcast command and is most useful with the
    manycastclient and pool commands."

    Despite the timestamps you quoted, the web version is likely newer.  Autogen is
    run against the documentation source files with every release, so that timestamp
    reflects the release date, not the last update of the documentation source files
    (.html in this case).

    I go by the ntp.conf.def files and date-time stamps, as the html and other docs should be Autogen-erated from these masters?

    Since the overhaul of the www.ntp.org <http://www.ntp.org> website a few years
    back, that documentation sadly is maintained in two places, and there's no process to ensure they stay in sync.  The web version is considered the more authoritative source, and is maintained in .md (Markdown) published only via the
    converted HTML on the website.  It started as a copy of the documentation from
    the source tarballs' /html directory, but after conversion to Markdown and subsequent improvements, those changes have generally not been made to the HTML
    version distributed with the source.  I'm partly to blame because I find writing
    documentation tedious enough without having to update it in two places, and I've
    been kept quite busy with coding work and haven't wanted to take the time to correct documentation that no longer reflects the reality of the code.  In theory one day I will have time to dedicate to that, but I welcome anyone who enjoys documentation work or at least really wants accurate NTP documentation to
    please volunteer to help out.

    FYI mandoc 1.14.6 (2021) will generate markdown from mdoc or man formats!

    I see the sources are in https://git.nwtime.org/websites/ntpwww and require a Go
    package Hugo to generate.
    Surprised you don't use the option to convert the ancient GIFs to webp and save space and time, especially on mobiles.

    > My question is why would a preemptable server, acquired using
    > "pool ...", continue to be polled after it has stopped
    > responding, i.e., the reach has gone to 0? It is a
    > misunderstanding on my part or is there an bug in the code?

    Or a doc bug?


    A doc bug and an off-by-one bug in the preemption logic.

    --
    Take care. Thanks, Brian Inglis Calgary, Alberta, Canada

    La perfection est atteinte Perfection is achieved
    non pas lorsqu'il n'y a plus rien à ajouter not when there is no more to add mais lorsqu'il n'y a plus rien à retirer but when there is no more to cut
    -- Antoine de Saint-Exupéry

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)