[Zope-Checkins] CVS: ZODB/src/ZODB/tests - PackableStorage.py:1.34
Tim Peters
tim.one at comcast.net
Fri Mar 12 14:41:51 EST 2004
Update of /cvs-repository/ZODB/src/ZODB/tests
In directory cvs.zope.org:/tmp/cvs-serv11782/src/ZODB/tests
Modified Files:
PackableStorage.py
Log Message:
_PackWhileWriting: Cut the number of threads and boost the max timeout.
This makes the ZEO flavors of the tests much more likely to complete
without a "thread still alive" failure.
=== ZODB/src/ZODB/tests/PackableStorage.py 1.33 => 1.34 ===
--- ZODB/src/ZODB/tests/PackableStorage.py:1.33 Fri Mar 12 13:08:13 2004
+++ ZODB/src/ZODB/tests/PackableStorage.py Fri Mar 12 14:41:50 2004
@@ -175,10 +175,20 @@
root[i].value = MinPO(i)
get_transaction().commit()
+ # How many client threads should we run, and how long should we
+ # wait for them to finish? Hard to say. Running 4 threads and
+ # waiting 30 seconds too often left a thread still alive on Tim's
+ # Win98SE box, during ZEO flavors of this test. Those tend to
+ # run one thread at a time to completion, and take about 10 seconds
+ # per thread. There doesn't appear to be a compelling reason to
+ # run that many threads. Running 3 threads and waiting up to a
+ # minute seems to work well in practice. The ZEO tests normally
+ # finish faster than that, and the non-ZEO tests very much faster
+ # than that.
NUM_LOOP_TRIP = 50
timer = ElapsedTimer(time.time())
threads = [ClientThread(db, choices, NUM_LOOP_TRIP, timer, i)
- for i in range(4)]
+ for i in range(3)]
for t in threads:
t.start()
@@ -188,7 +198,7 @@
db.pack(packt)
for t in threads:
- t.join(30)
+ t.join(60)
liveness = [t.isAlive() for t in threads]
if True in liveness:
# They should have finished by now.
More information about the Zope-Checkins
mailing list