BIND 10 #2856: memory manager initialization
    BIND 10 Development 
    do-not-reply at isc.org
       
    Fri Jun  7 00:11:06 UTC 2013
    
    
  
#2856: memory manager initialization
-------------------------------------+-------------------------------------
            Reporter:  jinmei        |                        Owner:
                Type:  task          |                       Status:  new
            Priority:  medium        |                    Milestone:
           Component:  shmem         |                   Resolution:
  manager                            |                 CVSS Scoring:
            Keywords:                |              Defect Severity:  N/A
           Sensitive:  0             |  Feature Depending on Ticket:
         Sub-Project:  DNS           |  shared memory data source
Estimated Difficulty:  4             |          Add Hours to Ticket:  0
         Total Hours:  0             |                    Internal?:  0
-------------------------------------+-------------------------------------
Description changed by jinmei:
Old description:
> Subtask of #2830.  Depend on #2854 and #2855.
>
> On top of the minimal framework (#2854), extend memmgr so that it will
> actually create two copies of mapped file for all "mapped" type of
> segments in the `SegmentInfo` list.
>
> It would look like:
>
> {{{#!python
> for datasrc in datasrces:
>     if datasrc.segment_type != "mapped":
>         continue
>     client_list.reset_memory_segment(datasrc.datasrc_name, "CREATE",
>                                      {"mapped-file":
> datasrc.map_file_base +
>                                       str(datasrc.current_file_id)})
>     ztable = client_list.get_zone_table_accessor(datasrc.datasrc_name,
> true)
>     for zone_spec in ztable:
>         writer = client_list.get_cache_zone_writer(zone_spec.origin)
>         writer.load()
>         writer.install()
>         writer.cleanup()
> }}}
>
> We could repeat the same procedure for the copy version, or we could
> simply copy the file (which would be much faster).
New description:
 Subtask of #2830.  Depend on #2854, #2855, #2993.
 On top of the minimal framework (#2854), extend memmgr so that it will
 actually create two copies of mapped file for all "mapped" type of
 segments in the `SegmentInfo` list.
 It would look like:
 {{{#!python
 for datasrc in datasrces:
     if datasrc.segment_type != "mapped":
         continue
     client_list.reset_memory_segment(datasrc.datasrc_name, "CREATE",
                                      {"mapped-file": datasrc.map_file_base
 +
                                       str(datasrc.current_file_id)})
     ztable = client_list.get_zone_table_accessor(datasrc.datasrc_name,
 true)
     for zone_spec in ztable:
         writer = client_list.get_cache_zone_writer(
             zone_spec.origin, catch_load_error=True)
         error = writer.load()
         if error:
           # log the error
           continue
         writer.install()
         writer.cleanup()
 }}}
 We could repeat the same procedure for the copy version, or we could
 simply copy the file (which would be much faster).
--
-- 
Ticket URL: <http://bind10.isc.org/ticket/2856#comment:3>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
    
    
More information about the bind10-tickets
mailing list