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