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