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