Commit 729c34f6 authored by Tim Peters's avatar Tim Peters

Various: When we opened a new connection before checking BTrees, we also

created the possibility that the checking code would need to try to read
up data from a closed connection.  This turned out to be a frequent source
of new failures in checkConcurrentUpdates1Storage (both FileStorage and BDB
flavors).  Changed all of the relevant tests to grab the BTree anew from
the newly-opened connection.
parent 31619707
...@@ -465,6 +465,7 @@ class InvalidationTests: ...@@ -465,6 +465,7 @@ class InvalidationTests:
db2._storage.sync() db2._storage.sync()
cn = db1.open() cn = db1.open()
tree = cn.root()["tree"]
self._check_tree(cn, tree) self._check_tree(cn, tree)
self._check_threads(tree, t1, t2) self._check_threads(tree, t1, t2)
...@@ -489,6 +490,7 @@ class InvalidationTests: ...@@ -489,6 +490,7 @@ class InvalidationTests:
self.go(stop, cd, t1, t2) self.go(stop, cd, t1, t2)
cn = db1.open() cn = db1.open()
tree = cn.root()["tree"]
self._check_tree(cn, tree) self._check_tree(cn, tree)
self._check_threads(tree, t1, t2) self._check_threads(tree, t1, t2)
...@@ -521,7 +523,9 @@ class InvalidationTests: ...@@ -521,7 +523,9 @@ class InvalidationTests:
db1._storage.sync() db1._storage.sync()
db2._storage.sync() db2._storage.sync()
cn = db1.open() cn = db1.open()
tree = cn.root()["tree"]
self._check_tree(cn, tree) self._check_tree(cn, tree)
self._check_threads(tree, t1, t2, t3) self._check_threads(tree, t1, t2, t3)
...@@ -555,7 +559,9 @@ class InvalidationTests: ...@@ -555,7 +559,9 @@ class InvalidationTests:
db1._storage.sync() db1._storage.sync()
db2._storage.sync() db2._storage.sync()
cn = db1.open() cn = db1.open()
tree = cn.root()["tree"]
self._check_tree(cn, tree) self._check_tree(cn, tree)
self._check_threads(tree, t1, t2, t3) self._check_threads(tree, t1, t2, t3)
...@@ -591,7 +597,9 @@ class InvalidationTests: ...@@ -591,7 +597,9 @@ class InvalidationTests:
while db1.lastTransaction() != db2.lastTransaction(): while db1.lastTransaction() != db2.lastTransaction():
db1._storage.sync() db1._storage.sync()
db2._storage.sync() db2._storage.sync()
cn = db1.open() cn = db1.open()
tree = cn.root()["tree"]
self._check_tree(cn, tree) self._check_tree(cn, tree)
# Purge the tree of the dummy entries mapping to 0. # Purge the tree of the dummy entries mapping to 0.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment