BIND 10 #2202: introduce a lock for the data source client in auth

BIND 10 Development do-not-reply at isc.org
Fri Aug 17 23:55:04 UTC 2012


#2202: introduce a lock for the data source client in auth
-------------------------------------+-------------------------------------
            Reporter:  jinmei        |                        Owner:
                Type:  task          |                       Status:  new
            Priority:  medium        |                    Milestone:  Next-
           Component:  b10-auth      |  Sprint-Proposed
           Sensitive:  0             |                     Keywords:
         Sub-Project:  DNS           |              Defect Severity:  N/A
Estimated Difficulty:  0             |  Feature Depending on Ticket:
         Total Hours:  0             |  scalable inmemory
                                     |          Add Hours to Ticket:  0
                                     |                    Internal?:  0
-------------------------------------+-------------------------------------
 A subtask of #2201.

 Basically, anyone (within auth) who calls getClientList() or
 setClientList() needs to acquire the lock.  But until we actually
 needs it in multiple thread, I suggest we only acquire/release the
 lock in processNormalQuery().  Note that the lock must be held until
 the rendering is completed.  Also care for exception safety.

 Also, check its performance impact using query_bench on a couple of
 different platforms.

 Open question: I'm not sure whether to use boost's thread support or
 pthread (or some lower level C API) directly.  Boost provides nice
 features such as exception safety, but once we enable Boost thread
 it enables other thread-related overhead throughout the library.
 Right now I'm inclined to choose not to use Boost features (and
 explicitly disable threads by defining BOOST_DISABLE_THREADS at the
 top level), but this is a subject of project-wide discussion.

-- 
Ticket URL: <http://bind10.isc.org/ticket/2202>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list