BIND 10 #2862: update b10-auth to recognize data source memory segments

BIND 10 Development do-not-reply at isc.org
Fri Apr 12 08:01:55 UTC 2013


#2862: update b10-auth to recognize data source memory segments
-------------------------------------+-------------------------------------
            Reporter:  jinmei        |                        Owner:
                Type:  task          |                       Status:  new
            Priority:  medium        |                    Milestone:  New
           Component:  b10-auth      |  Tasks
            Keywords:                |                   Resolution:
           Sensitive:  0             |                 CVSS Scoring:
         Sub-Project:  DNS           |              Defect Severity:  N/A
Estimated Difficulty:  5             |  Feature Depending on Ticket:
         Total Hours:  0             |  shared memory data source
                                     |          Add Hours to Ticket:  0
                                     |                    Internal?:  0
-------------------------------------+-------------------------------------
Description changed by jinmei:

Old description:

> Subtask of #2830.  Depend on #2861
>
> When the main thread knows the data sources are ready, it gets a list
> of some info of the data sources using the API added in #2835.
>
> In this task, we'll also do the first part of (the reader side of)
> http://bind10.isc.org/wiki/SharedMemoryIPC#a5.1.InitialStartup
> that is, if there's any WAITING state of segment, subscribe to the
> !MemorySegmentReaders group.

New description:

 Subtask of #2830.  Depend on #2861

 When the main thread knows the data sources are ready, it gets a list
 of some info of the data sources using the API added in #2835.

 In this task, we'll also do the first part of (the reader side of)
 http://bind10.isc.org/wiki/SharedMemoryIPC#a5.1.InitialStartup
 that is, if there's any WAITING state of segment, subscribe to the
 !MemorySegmentReaders group.

 Update: on thinking about it more, I now think it's better to have the
 builder thread handle all data source configuration matters.  So,
 it will work as follows:

 - On the completion of reconfigure, it notifies the main thread (via
   the added command queue in #2861).  The command is
   DATASRC_CONFIGURED, its argument is:
   `{"cache-state": WAITING or INUSE}`
 - the main thread checks the command, and if cache state is WAITING
   and it hasn't subscribed to the "Segment Readers" group, it does so
   now.
 - the main thread passes any incoming "segment_info_update" message
   from memmgr to the builder thread with a new command
   SEGMENT_INFO_UPDATE (or something).  argument is the
   "segment_info_update" argument.
 - the builder thread resets the corresponding segment in the data
   source client.  then notifies the main thread with the SEGMENT_READY
   (or something) command with the data source name in arg.
 - Also, if this is the last outstanding segment, it sends the
   DATASRC_CONFIGURED command with `{"cache-state": INUSE}`.
 - when the main thread receives the SEGMENT_INFO_UPDATE command, it
   sends a corresponding segment_info_update_ack message to memmgr.
 - for now, main thread does nothing for the second DATASRC_CONFIGURED
   command, but it could be used to start possibly delayed
   listening_on.

--

-- 
Ticket URL: <http://bind10.isc.org/ticket/2862#comment:2>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list