@@ -81,14 +81,19 @@ def writerThread(self, *args, **kwargs):
8181 except db .DBLockDeadlockError :
8282 if verbose :
8383 print (currentThread ().getName (), 'died from' , e )
84+ else :
85+ if verbose :
86+ print (currentThread ().getName (), "finished." )
8487
8588 def readerThread (self , * args , ** kwargs ):
8689 try :
8790 self ._readerThread (* args , ** kwargs )
8891 except db .DBLockDeadlockError as e :
8992 if verbose :
9093 print (currentThread ().getName (), 'died from' , e )
91-
94+ else :
95+ if verbose :
96+ print (currentThread ().getName (), "finished." )
9297
9398
9499
@@ -107,14 +112,14 @@ def test01_1WriterMultiReaders(self):
107112 print ('\n ' , '-=' * 30 )
108113 print ("Running %s.test01_1WriterMultiReaders..." % \
109114 self .__class__ .__name__ )
115+ print ('Using:' , self .homeDir , self .filename )
110116
111117 threads = []
112- for x in range (self .writers ):
113- wt = Thread (target = self .writerThread ,
114- args = (self .d , self .records , x ),
115- name = 'writer %d' % x ,
116- )#verbose = verbose)
117- threads .append (wt )
118+ wt = Thread (target = self .writerThread ,
119+ args = (self .d , self .records ),
120+ name = 'the writer' ,
121+ )#verbose = verbose)
122+ threads .append (wt )
118123
119124 for x in range (self .readers ):
120125 rt = Thread (target = self .readerThread ,
@@ -128,20 +133,18 @@ def test01_1WriterMultiReaders(self):
128133 for t in threads :
129134 t .join ()
130135
131- def _writerThread (self , d , howMany , writerNum ):
132- #time.sleep(0.01 * writerNum + 0.01)
136+ def _writerThread (self , d , howMany ):
133137 name = currentThread ().getName ()
134- start = howMany * writerNum
135- stop = howMany * ( writerNum + 1 ) - 1
138+ start = 0
139+ stop = howMany
136140 if verbose :
137- print ("%s : creating records %d - %d" % ( name , start , stop ) )
141+ print (name + " : creating records" , start , "-" , stop )
138142
139143 for x in range (start , stop ):
140144 key = ('%04d' % x ).encode ("ascii" )
141- dbutils .DeadlockWrap (d .put , key , self .makeData (key ),
142- max_retries = 20 )
143- if verbose and x % 100 == 0 :
144- print ("%s: records %d - %d finished" % (name , start , x ))
145+ d .put (key , self .makeData (key ))
146+ if verbose and x > start and x % 50 == 0 :
147+ print (name + ": records" , start , "-" , x , "finished" )
145148
146149 if verbose :
147150 print ("%s: finished creating records" % name )
@@ -157,8 +160,6 @@ def _writerThread(self, d, howMany, writerNum):
157160## c.delete()
158161
159162## c.close()
160- if verbose :
161- print ("%s: thread finished" % name )
162163
163164 def _readerThread (self , d , readerNum ):
164165 time .sleep (0.01 * readerNum )
@@ -174,25 +175,22 @@ def _readerThread(self, d, readerNum):
174175 self .assertEqual (self .makeData (key ), data )
175176 rec = c .next ()
176177 if verbose :
177- print ("%s : found %d records" % ( name , count ) )
178+ print (name + " : found" , count , "records" )
178179 c .close ()
179180 time .sleep (0.05 )
180181
181- if verbose :
182- print ("%s: thread finished" % name )
183-
184182
185183class BTreeConcurrentDataStore (ConcurrentDataStoreBase ):
186184 dbtype = db .DB_BTREE
187- writers = 2
185+ writers = 1
188186 readers = 10
189187 records = 1000
190188
191189
192190class HashConcurrentDataStore (ConcurrentDataStoreBase ):
193191 dbtype = db .DB_HASH
194- writers = 2
195- readers = 10
192+ writers = 1
193+ readers = 0
196194 records = 1000
197195
198196
@@ -373,7 +371,7 @@ def doWrite(self, d, name, start, stop):
373371 finished = True
374372 except (db .DBLockDeadlockError , db .DBLockNotGrantedError ) as val :
375373 if verbose :
376- print ("%s: Aborting transaction (%s)" % (name , val [ 1 ] ))
374+ print ("%s: Aborting transaction (%s)" % (name , val ))
377375 txn .abort ()
378376 time .sleep (0.05 )
379377
@@ -411,7 +409,7 @@ def _writerThread(self, d, howMany, writerNum):
411409 print ("%s: deleted records %s" % (name , recs ))
412410 except (db .DBLockDeadlockError , db .DBLockNotGrantedError ) as val :
413411 if verbose :
414- print ("%s: Aborting transaction (%s)" % (name , val [ 1 ] ))
412+ print ("%s: Aborting transaction (%s)" % (name , val ))
415413 txn .abort ()
416414 time .sleep (0.05 )
417415
@@ -441,7 +439,7 @@ def _readerThread(self, d, readerNum):
441439 finished = True
442440 except (db .DBLockDeadlockError , db .DBLockNotGrantedError ) as val :
443441 if verbose :
444- print ("%s: Aborting transaction (%s)" % (name , val [ 1 ] ))
442+ print ("%s: Aborting transaction (%s)" % (name , val ))
445443 c .close ()
446444 txn .abort ()
447445 time .sleep (0.05 )
0 commit comments