BIND 10 #2049: "exclusive" mode of DataSourceClient
BIND 10 Development
do-not-reply at isc.org
Sat Jun 16 06:28:25 UTC 2012
#2049: "exclusive" mode of DataSourceClient
-------------------------------------+-------------------------------------
Reporter: jinmei | Owner:
Type: task | Status: new
Priority: medium | Milestone: Next-
Component: data source | Sprint-Proposed
Sensitive: 0 | Keywords:
Sub-Project: DNS | Defect Severity: N/A
Estimated Difficulty: 0 | Feature Depending on Ticket:
Total Hours: 0 | Add Hours to Ticket: 0
| Internal?: 0
-------------------------------------+-------------------------------------
In the current implementation of database-based data source clients,
the zone iterator and updater use a separate database accessor
(by "cloning") so that it can be used separate from the factory
client.
In general cases it's probably okay, but it doesn't have to be so
if the client is used by a single thread and iterator or updater
isn't used in parallel with other client features such as zone
finders. "cloning" would normally mean opening a separate connection
to the database server and can be expensive, so it probably makes
sense if we allow an application to skip it based on application's
choice.
For xfrin or xfrout this may not be that a big deal, but for ddns I
guess it can be substantial for performance.
My suggestion is to introduce a notion of "exclusive" mode for the
`DataSourceClient` object, and allows an app to specify it by, e.g.,
calling `setExclusive(bool)` method. When enabled, getIterator()
and getUpdater() don't clone the accessor, and it's app's
responsibility to use it safely.
--
Ticket URL: <http://bind10.isc.org/ticket/2049>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list