BIND 10 #851: b10-auth (+ hotspot cache) can crash in handling query when DB is busy
BIND 10 Development
do-not-reply at isc.org
Thu Apr 14 06:00:27 UTC 2011
#851: b10-auth (+ hotspot cache) can crash in handling query when DB is busy
-------------------------------------+-------------------------------------
Reporter: jinmei | Owner:
Type: defect | Status: new
Priority: | Milestone: Year 3 Task
critical | Backlog
Component: data | Resolution:
source | Sensitive: 0
Keywords: | Add Hours to Ticket: 0
Estimated Number of Hours: 0.0 | Total Hours: 0
Billable?: 1 |
Internal?: 0 |
-------------------------------------+-------------------------------------
Comment (by jinmei):
After looking at the code closely I found the immediate problem
(i.e. server crash) can be fixed by a quite simple patch. So I did
it. It's in the trac581 branch and is ready for review.
This fix is a bit suboptimal in terms of performance, because it
always tries to identify the best matching zone in data sources
even if the desired answer is cached and subsequent process doesn't
require the zone information. But IMO this data source code is
already too complicated to identify the exact cases that require the
zone information (and IMO it requires substantial cleanup/refactoring
anyway). Also, even with the hot spot cache it's still not that fast
anyway. Besides, according to my quick local benchmark using
auth/benchmarks/query_bench, I've not seen visible performance drop
due to this patch.
I'd leave the fix to sqlite3 data source I mentioned in the problem
description (handle error cases other than SQLITE_DONE separately) to
a different ticket.
The proposed changelog entry:
{{{
219.? [bug] jinmei
b10-auth, src/lib/datasrc: inconsistency between the hot spot
cache and actual data source could cause a crash while query
processing. The crash could happen, e.g., when an sqlite3 DB file
is being updated after a zone transfer while b10-auth handles a
query using the corresponding sqlite3 data source.
(Trac #851, git TBD)
}}}
--
Ticket URL: <http://bind10.isc.org/ticket/851#comment:2>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list