BIND 10 #2252: Implement counters into Xfrin (1/3)
BIND 10 Development
do-not-reply at isc.org
Wed May 1 04:08:27 UTC 2013
#2252: Implement counters into Xfrin (1/3)
-------------------------------------+-------------------------------------
Reporter: naokikambe | Owner:
Type: enhancement | jinmei
Priority: medium | Status:
Component: xfrin | reviewing
Keywords: | Milestone:
Sensitive: 0 | Sprint-20130514
Sub-Project: DNS | Resolution:
Estimated Difficulty: 5 | CVSS Scoring:
Total Hours: 16.75 | Defect Severity: N/A
| Feature Depending on Ticket:
| Add Hours to Ticket: 0
| Internal?: 0
-------------------------------------+-------------------------------------
Comment (by jinmei):
I'm not really sure if I understand the commit comment:
{{{
[2252] add exceptional cases for checking initial statistics of Xfrout
.Xfrout.socket.unixdomain.open should be 1 immediately after Xfrout
started.
But Stats could not have the latest statistics of Xfrout if it requests
until
Xfrout is ready for accepting a statistics request from Stats. Thus in
that
case, Stats would show that .Xfrout.socket.unixdomain.open is 1. For
checking
exactly that .Xfrout.socket.unixdomain.open is 1 here, it waits for the
second
time until Stats requests all modules which are Auth, Init, and Xfrout.
The
Stats configuration "poll-interval" is changed to one second so that
timeout in
the lettuce test is avoided.
}}}
Does this mean that the problem is as follows?
- if b10-stats doesn't start up soon enough and Xfrout is ready at the
time the initial polling from b10-stats,
.Xfrout.socket.unixdomain.open is 1, so this check will fail:
{{{
check initial statistics not containing example.org for Xfrout
with cmdctl port 47804
}}}
- on the other hand, if b10-stats starts up sooner and collects
initial statistics before xfrout is ready,
.Xfrout.socket.unixdomain.open is 0. And when we perform this
b10-stats simply returns the remembered result (because
poll-interval is the default):
{{{
check initial statistics not containing example.org for Xfrout with
cmdctl port 47804
}}}
So we cannot simply assert the counter is 1 (or 0).
And the "fix" is to set poll-interval to 1 (then in the second case
"check initial statistics" triggers another polling and b10-stats will
get the latest value) and assert the counter is 1?
If so, I think the previous workaround is less ugly, which, if I
remember it, is to assert the counter is either 0 or 1 (with
commenting why). To me the current fix has the following issues:
- it's not clear why we need to use that specific value of
poll-interval.
- smaller poll-interval values will cause noisy log output. it's
inconvenient when we need to examine the log output to debug a test
failure.
--
Ticket URL: <http://bind10.isc.org/ticket/2252#comment:32>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list