BIND 10 #3019: update memmgr to handle restart cases correctly
BIND 10 Development
do-not-reply at isc.org
Thu Jun 27 01:40:10 UTC 2013
#3019: update memmgr to handle restart cases correctly
-------------------------------------+-------------------------------------
Reporter: | Owner:
jinmei | Status: new
Type: task | Milestone: New Tasks
Priority: | Keywords:
medium | Sensitive: 0
Component: shmem | Sub-Project: DNS
manager | Estimated Difficulty: 0
CVSS Scoring: | Total Hours: 0
Defect Severity: N/A |
Feature Depending on Ticket: |
Add Hours to Ticket: 0 |
Internal?: 0 |
-------------------------------------+-------------------------------------
This task implements the proposed idea at the memmgr described in
https://lists.isc.org/pipermail/bind10-dev/2013-June/004691.html
It depends on #3018 (with a mock we may be able to work on this task
in parallel with #3018).
Specifically, we update the constructor of
`isc.memmgr.datasrc_info.MappedSegmentInfo`. Instead of always
assuming `__reader_ver` is None and `__writer_ver` is 0, it should
check if the ".0" and ".1" files exist. If the file exists, it tries
to reset the segment in the read only mode and sees if it's dirty
(it'll need to call get_status() again).
- If ".0" is (existent and) non-dirty while ".1" isn't, `__reader_ver`
should be ".0" and `__writer_ver` should be ".1"
- If ".1" is (existent and) non-dirty while ".0" isn't, `__reader_ver`
should be ".1" and `__writer_ver` should be ".0"
- If both ".0" and ".1" are (existent and) non-dirty, `__reader_ver`
should be the newer one (in terms of modification time) and
`__writer_ver` should be the other.
- If neither ".0" nor ".1" is non-dirty, `__reader_ver` should be None
and `__writer_ver` should be ".1" (just like the current default).
I believe we don't have to update other parts of memmgr, but please
check that.
--
Ticket URL: <http://bind10.isc.org/ticket/3019>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list