BIND 10 #2038: zonemgr's config_handler doesn't provide strong exception guarantee

BIND 10 Development do-not-reply at isc.org
Wed Jun 13 21:10:35 UTC 2012


#2038: zonemgr's config_handler doesn't provide strong exception guarantee
-------------------------------------+-------------------------------------
                   Reporter:         |                 Owner:
  jinmei                             |                Status:  new
                       Type:         |             Milestone:  Next-Sprint-
  defect                             |  Proposed
                   Priority:  high   |            Resolution:
                  Component:         |             Sensitive:  0
  secondary manager                  |           Sub-Project:  DNS
                   Keywords:         |  Estimated Difficulty:  0
            Defect Severity:  N/A    |           Total Hours:  0
Feature Depending on Ticket:         |
        Add Hours to Ticket:  0      |
                  Internal?:  0      |
-------------------------------------+-------------------------------------
Description changed by jinmei:

Old description:

> If I read it correct, zonemgr can partially update its internal
> configuration when it encounters an error in the middle of the update
> handler.  In particular, it can even partially update the
> "secondary_zones" list if there's an error in the middle of the list.
>
> This is generally bad, but now that ddns shares the config info it's
> even more serious: zonemgr and ddns could keep running with
> inconsistent information.  (And I misunderstood another related point:
> I thought cfgmr sent updates to "observer" modules that shows their
> interest in remote configs via add_remote_config, but on a closer look
> I realized cfgmgr doesn't actually distinguish the "real" module and
> "observers", and just broadcasts updates to all registered modules.
> IMO this behavior is also bad and should be fixed, but that's another
> topic).

New description:

 If I read it correct, zonemgr can partially update its internal
 configuration when it encounters an error in the middle of the update
 handler.  In particular, it can even partially update the
 "secondary_zones" list if there's an error in the middle of the list.

 This is generally bad, but now that ddns shares the config info it's
 even more serious: zonemgr and ddns could keep running with
 inconsistent information.  (And I misunderstood another related point:
 I thought cfgmr sent updates to "observer" modules that shows their
 interest in remote configs via add_remote_config only after the "real"
 module validated it, but on a closer look I realized cfgmgr doesn't
 actually distinguish the "real" module and "observers", and just
 broadcasts updates to all registered modules.  IMO this behavior is
 also bad and should be fixed, but that's another topic).

--

-- 
Ticket URL: <https://bind10.isc.org/ticket/2038#comment:1>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list