BIND 10 #326: Race condition in first startup (when database file does not exist)

BIND 10 Development do-not-reply at isc.org
Mon Aug 22 15:28:16 UTC 2011


#326: Race condition in first startup (when database file does not exist)
-------------------------------------+-------------------------------------
                   Reporter:  jelte  |                 Owner:  UnAssigned
                       Type:         |                Status:  reviewing
  defect                             |             Milestone:
                   Priority:  major  |  Sprint-20110830
                  Component:  data   |            Resolution:
  source                             |             Sensitive:  0
                   Keywords:         |           Sub-Project:  DNS
            Defect Severity:         |  Estimated Difficulty:  8
  Medium                             |           Total Hours:  0
Feature Depending on Ticket:         |
        Add Hours to Ticket:  0      |
                  Internal?:  0      |
-------------------------------------+-------------------------------------
Changes (by jelte):

 * owner:  jelte => UnAssigned
 * status:  assigned => reviewing


Comment:

 Did a bit of refactoring the initialization as i was fixing this;

 What it does now is that it checks the schema version in the database (in
 a normal connection). If the result indicates the table does not appear to
 exist, it tries to get an exclusive lock. Once it has that, it checks the
 version *again*. If it has not been created by now, it does so now.

 oh and the c++ version now actually checks the schema version :)

 I've implemented this algorithm in the python datasrc module, and both the
 old and the new c++ code (those two are quite similar, the setup code got
 almost completely copied, save for some var names). I only added tests for
 the new code, as i suspect we'll drop the old implementation soonish.

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


More information about the bind10-tickets mailing list