BIND 10 #2234: staged zone reloading to in-memory

BIND 10 Development do-not-reply at isc.org
Tue Sep 4 06:22:24 UTC 2012


#2234: staged zone reloading to in-memory
-------------------------------------+-------------------------------------
            Reporter:  jinmei        |                        Owner:
                Type:  task          |                       Status:  new
            Priority:  medium        |                    Milestone:  Next-
           Component:  data source   |  Sprint-Proposed
           Sensitive:  0             |                     Keywords:
         Sub-Project:  DNS           |              Defect Severity:  N/A
Estimated Difficulty:  0             |  Feature Depending on Ticket:
         Total Hours:  0             |  background zone loading
                                     |          Add Hours to Ticket:  0
                                     |                    Internal?:  0
-------------------------------------+-------------------------------------
 A subtask of #2201, should be basically independent from other tasks.

 This is a simpler version of extensions to zone reloading to
 in-memory.  It doesn't rely on higher abstraction but directly
 updates the `ConfigurableClientList` class in an ad hoc but
 straightforward way.

 {{{#!cpp
 class ConfigurableClientList {
     // load zone(s) content in memory.  This can take long time.
     // It identifies the specified zone from the list, and load the new
     // version of zone into memory.  It doesn't yet link the new memory
     // image with the zone table.
     //
     // For simplicity, it doesn't allow multiple zones to be loaded in
     // parallel.
     void reloadCache(const isc::dns::Name& zone_name);

     // This method is expected to be called after a successful completion
     // of reloadCache, and updates the zone table so that it points to
     // the memory image for the new version of the zone.  It keeps the
 pointer
     // to the old zone image for the later call to cleanupCache.
     //
     // This method should be completed without "blocking" query
 processing.
     //
     // Again, for simplicity, this method doesn't allow a duplicate call.
     void reinstallCache();

     // This method is expected to be called after reinstallCache().  It
     // releases resources for the old version of zone (remembered
 somewhere
     // in the class object by reinstallCache()).  It can take time.
     // It must be exception free.
     void cleanupCache();
 };
 }}}

-- 
Ticket URL: <http://bind10.isc.org/ticket/2234>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list