Files

1.1 KiB

1DirtyReadOffender,chrAig[DIRTY_READ_OPTIMISTIC]coupon=3.50,DirtyReadVictim
2,Established chrAig,
3 ,,@t=1593467845991 DirtyReadVictim sleeping 10 seconds
4 @t=1593467846072 DirtyReadOffender calling chrAig.put('369604101'/3.85)
5 , @t=1593467846079 Tx=Thread[Thread-2.5.main] inside chrAig.put('369604101'/null) BEGIN,
6 , @t=1593467846083 Tx=Thread[Thread-2.5.main] inside chrAig.put('369604101'/3.85) DONE,
7 @t=1593467846083 DirtyReadOffender sleeping 1 minute.
8 ,,@t=1593467856000 DirtyReadVictim calling chrAig.get('369604101')
9 , @t=1593467856002 Tx=Thread[Thread-3.5.main] inside chrAig.get('369604101') BEGIN,
10 , @t=1593467856036 Tx=Thread[Thread-3.5.main] inside chrAig.get() DONE ,
11 ,,@t=1593467856036 DirtyReadVictim OPTIMISTICALLY_READ coupon=3.85
12 ,,@t=1593467856036 DirtyReadVictim calling chrAig.rollback()
13 , @t=1593467856036 Tx=Thread[Thread-3.5.main] chrAig.rollback() BEGIN ,
14 ,@t=1593467856037 Tx=Thread[Thread-3.5.main] chrAig.rollback() COMPLETE coupon=3.50,
15, @t=1593467856037 Tx=Thread[Thread-3.5.main] chrAig.rollback() completed notifyAll() to waiting Tx Threads,
16 ,,@t=1593467856037 DirtyReadVictim ROLLED BACK