BIND 10 #1756: revise "ITERATE" query in sqlite3_accessor

BIND 10 Development do-not-reply at isc.org
Mon Sep 24 07:41:36 UTC 2012


#1756: revise "ITERATE" query in sqlite3_accessor
-------------------------------------+-------------------------------------
                   Reporter:         |                 Owner:  muks
  jinmei                             |                Status:  reviewing
                       Type:         |             Milestone:
  defect                             |  Sprint-20120925
                   Priority:         |            Resolution:
  medium                             |             Sensitive:  0
                  Component:  data   |           Sub-Project:  DNS
  source                             |  Estimated Difficulty:  6
                   Keywords:         |           Total Hours:  0
            Defect Severity:  N/A    |
Feature Depending on Ticket:         |
        Add Hours to Ticket:  0      |
                  Internal?:  0      |
-------------------------------------+-------------------------------------

Comment (by muks):

 Hi Michal

 Replying to [comment:8 vorner]:
 > Hello
 >
 > First, I'm not completely sure the tradeoff is worth it (larger DB and
 slower updates for faster iteration). Should we ask on the ML about it?

 I've asked on the mailing list:
 https://lists.isc.org/pipermail/bind10-dev/2012-September/003828.html

 > Anyway, the change should have a changelog entry I think.

 How does this look:

 {{{
 XXX.    [func]          muks
         Added an SQLite3 index on records(rname, rdtype). This decreases
         insert performance by ~28% and adds about ~20% to the file size,
         but increases zone iteration performance. As it introduces a new
         index, a database upgrade would be required.
         (Trac #1756, git ...)
 }}}

 > Also, I think this is the kind of change in DB to increase the minor
 version (it is backwards compatible, but it is different). And the update
 utility should be extended to be able to add the indices to already
 existing database.

 Done.

 > I'm not against the change to `sqlite3_datasrc.cc`, but we should drop
 this file really soon now. I don't think anything uses it any more.

 Nod.

 >
 > Also, it seems the lettuce tests fail for me. Did you try running them?
 I tried 3 times and all three times it failed on the same test:
 >
 > {{{
 > last bindctl output should not contain "error"
 # features/terrain/bind10_control.py:152
 >     Then wait for new master stderr message
 XFROUT_RECEIVED_GETSTATS_COMMAND                                     #
 features/terrain/steps.py:34
 >     Traceback (most recent call last):
 >       File "/home/vorner/.local/lib64/python2.7/site-
 packages/lettuce/core.py", line 117, in __call__
 >         ret = self.function(self.step, *args, **kw)
 >       File
 "/home/vorner/work/bind10/tests/lettuce/features/terrain/steps.py", line
 52, in wait_for_stderr_message
 >         (found, line) =
 world.processes.wait_for_stderr_str(process_name, strings, new,
 int(times))
 >       File
 "/home/vorner/work/bind10/tests/lettuce/features/terrain/terrain.py", line
 344, in wait_for_stderr_str
 >         matches)
 >       File
 "/home/vorner/work/bind10/tests/lettuce/features/terrain/terrain.py", line
 244, in wait_for_stderr_str
 >         strings, only_new, matches)
 >       File
 "/home/vorner/work/bind10/tests/lettuce/features/terrain/terrain.py", line
 228, in _wait_for_output_str
 >         assert False, "Timeout waiting for process output: " +
 str(strings)
 >     AssertionError: Timeout waiting for process output:
 [u'XFROUT_RECEIVED_GETSTATS_COMMAND']
 >     The counter notifyoutv4 for the zone _SERVER_ should be 0
 # features/terrain/bind10_control.py:395
 > }}}
 >

 I think this was an issue with the stats counter updates when the branch
 was made, and has since been fixed in master.

-- 
Ticket URL: <http://bind10.isc.org/ticket/1756#comment:9>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list