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

BIND 10 Development do-not-reply at isc.org
Wed Aug 17 14:02:32 UTC 2011


#326: Race condition in first startup (when database file does not exist)
-------------------------------------+-------------------------------------
                   Reporter:  jelte  |                 Owner:
                       Type:         |                Status:  reopened
  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      |
-------------------------------------+-------------------------------------

Comment (by jelte):

 As far as the current code in the refactoring is concerned, the problem
 wouldn't be fixed. It's still the race condition between the
 schema_version check and the creation of the table(s), which has so far
 been copied into the new code.

 I think that an exclusive lock (as proposed) would indeed fix it. Then
 there is just the question of how to handle not getting it :) I have some
 experimental code that would support this assumption (though technically
 with a race condition you never know, I put in some sleeps to increase the
 race window and it does indeed work with those)

 I propose a fixed number of delayed retries until it gives up (the db
 could be locked forever).

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


More information about the bind10-tickets mailing list