dbTalk Databases Forums  

deadlock not being detected

comp.databases.berkeley-db comp.databases.berkeley-db


Discuss deadlock not being detected in the comp.databases.berkeley-db forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
studdugie@gmail.com
 
Posts: n/a

Default deadlock not being detected - 01-15-2006 , 09:15 PM






I've run into a situation where threads are deadlocking but
BerkeleyDB's deadlock detection capability fails to catch it. When the
deadlock happened I did a thread dump. The dump revealed that there are
3 points of database interaction that are responsible for the deadlock.
2 points involve the same thread in the same transaction and the 3rd
involves a different thread in a different transaction.

Point 1&2:
==========
while( true )
{
boolean stored = false;
boolean aborted = false;
Transaction txn = bdbEnv.beginTransaction( null, null );
try
{
for( ... )
{
IntegerEntry k = new IntegerEntry( id.incrementAndGet() );
DatabaseEntry v = new DatabaseEntry( data );
while( OperationStatus.KEYEXIST ==
P1 --> actionsDb.putNoOverwrite( txn, k, v ) )<-- P1
k.set( id.incrementAndGet() );
}

Cursor cur = clusterDb.openCursor( null, null );
try
{
while(OperationStatus.SUCCESS == cur.getNext(ck, cv, null))
{
...
switch( ... )
{
case ...:
if( ... )
{
IntegerEntry ai = new IntegerEntry();
for( ... )
{
...
OperationStatus opstat =
P2 --> rQDb.putNoDupData( txn, k, v );<--P2
if( OperationStatus.SUCCESS == opstat )
stored = true;
else
assert false : opstat;
}
...
}
break;
}
}
}
finally
{
cur.close();
}
return stored;
}
catch( DeadlockException e )
{
aborted = true;
txn.abort();
if( debug )
e.printStackTrace();
Thread.sleep( getRandomSleepInterval() );
}
finally
{
if( !aborted )
{
if( stored )
txn.commit();
else
txn.abort();
}
}
}

Point 3:
========
Cursor qcur = rQDb.openCursor( null, null );
try
{
DatabaseEntry dbe2 = new DatabaseEntry();
Cursor acur = actionsDb.openCursor( null, null );
try
{ // Pass 1
actionsLoop:
for( OperationStatus opstat = acur.getFirst( dbe2, dbe, null );
OperationStatus.SUCCESS == opstat;
opstat = acur.getNext( dbe2, dbe, null ) )<-- P3
{
...
}
}
finally
{
acur.close();
}
}
finally
{
qcur.close();
}

Looking at the code snippets one can see that it is possible for P1 and
P3 to deadlock. I don't have a problem with them deadlocking. The
problem I'm having is the deadlock detector is not detecting it.
Deadlock detection is run every 30 seconds.

deadlock detection code:
========================
while( on )
{
try
{
for( int x = 1; x > 0 && on; )
x = env.detectDeadlocks( LockDetectMode.YOUNGEST );
}
catch( DatabaseException e )
{
e.printStackTrace();
}

try
{
sleep( Millis.SECOND * 30 );
}
catch( InterruptedException ignore )
{
}
}


I also ran db_stat -CA. I'm including it's output.

db_stat:
========
Default locking region information:
172 Last allocated locker ID
0x7fffffff Current maximum unused locker ID
9 Number of lock modes
10000 Maximum number of locks possible
10000 Maximum number of lockers possible
10000 Maximum number of lock objects possible
306 Number of current locks
311 Maximum number of locks at any one time
303 Number of current lockers
313 Maximum number of lockers at any one time
7 Number of current lock objects
234 Maximum number of lock objects at any one time
4648369 Total number of locks requested
4648059 Total number of locks released
0 Total number of locks upgraded
6 Total number of locks downgraded
182 Lock requests not available due to conflicts, for which we
waited
0 Lock requests not available due to conflicts, for which we did
not wait
0 Number of deadlocks
0 Lock timeout value
0 Number of locks that have timed out
0 Transaction timeout value
0 Number of transactions that have timed out
5MB 504KB The size of the lock region
316 The number of region locks that required waiting (0%)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Lock REGINFO information:
Lock Region type
5 Region ID
__db.005 Region name
0x2aaab81c3000 Original region address
0x2aaab81c3000 Region address
0x2aaab8740f00 Region primary address
0 Region maximum allocation
0 Region allocated
REGION_JOIN_OK Region flags
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Lock region parameters:
16390 Lock region region mutex [316/7764993 0% 18223/46912502741728]
16381 locker table size
16381 object table size
5496520 obj_off
5234416 locker_off
0 need_dd
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Lock conflict matrix:
0 0 0 0 0 0 0 0 0
0 0 1 0 1 0 1 0 1
0 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0
0 1 1 0 0 0 0 1 1
0 0 1 0 0 0 0 0 1
0 1 1 0 0 0 0 1 1
0 0 1 0 1 0 1 0 0
0 1 1 0 1 1 1 0 1
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Locks grouped by lockers:
Locker Mode Count Status ----------------- Object
---------------
9 dd=309 locks held 2 write locks 0 pid/thread
17772/46912501709536
9 READ 1 HELD cluster.db handle
6
9 READ 1 HELD cluster.db handle
0
c dd=308 locks held 1 write locks 0 pid/thread
17772/1089866080
c READ 1 WAIT cluster.db page
632
c READ 2 HELD cluster.db page
629
d dd=307 locks held 0 write locks 0 pid/thread
17772/1089866080
e dd=306 locks held 2 write locks 0 pid/thread
17772/46912501709536
e READ 1 HELD cluster.db handle
8
e READ 1 HELD cluster.db handle
0
17 dd=299 locks held 0 write locks 0 pid/thread
17772/1102498144
19 dd=295 locks held 0 write locks 0 pid/thread
17772/1096182112
1a dd=293 locks held 0 write locks 0 pid/thread
17772/1103550816
1b dd=291 locks held 0 write locks 0 pid/thread
17772/1105656160
1c dd=289 locks held 0 write locks 0 pid/thread
17772/1106708832
1d dd=287 locks held 0 write locks 0 pid/thread
17772/1107761504
1e dd=285 locks held 0 write locks 0 pid/thread
17772/1108814176
1f dd=283 locks held 0 write locks 0 pid/thread
17772/1109866848
20 dd=281 locks held 0 write locks 0 pid/thread
17772/1110919520
21 dd=279 locks held 0 write locks 0 pid/thread
17772/1111972192
22 dd=277 locks held 0 write locks 0 pid/thread
17772/1113024864
23 dd=275 locks held 0 write locks 0 pid/thread
17772/1114077536
24 dd=273 locks held 0 write locks 0 pid/thread
17772/1115130208
25 dd=271 locks held 0 write locks 0 pid/thread
17772/1116182880
26 dd=269 locks held 0 write locks 0 pid/thread
17772/1117235552
27 dd=267 locks held 0 write locks 0 pid/thread
17772/1118288224
28 dd=265 locks held 0 write locks 0 pid/thread
17772/1119340896
29 dd=263 locks held 0 write locks 0 pid/thread
17772/1120393568
2a dd=261 locks held 0 write locks 0 pid/thread
17772/1121446240
2b dd=259 locks held 0 write locks 0 pid/thread
17772/1122498912
2c dd=257 locks held 0 write locks 0 pid/thread
17772/1123551584
2d dd=255 locks held 0 write locks 0 pid/thread
17772/1124604256
2e dd=253 locks held 0 write locks 0 pid/thread
17772/1125656928
2f dd=251 locks held 0 write locks 0 pid/thread
17772/1126709600
30 dd=249 locks held 0 write locks 0 pid/thread
17772/1127762272
31 dd=247 locks held 0 write locks 0 pid/thread
17772/1128814944
32 dd=245 locks held 0 write locks 0 pid/thread
17772/1129867616
33 dd=243 locks held 0 write locks 0 pid/thread
17772/1130920288
34 dd=241 locks held 0 write locks 0 pid/thread
17772/1131972960
35 dd=239 locks held 0 write locks 0 pid/thread
17772/1133025632
36 dd=237 locks held 0 write locks 0 pid/thread
17772/1134078304
37 dd=235 locks held 0 write locks 0 pid/thread
17772/1135130976
38 dd=233 locks held 0 write locks 0 pid/thread
17772/1136183648
39 dd=231 locks held 0 write locks 0 pid/thread
17772/1137236320
3a dd=229 locks held 0 write locks 0 pid/thread
17772/1138288992
3b dd=227 locks held 0 write locks 0 pid/thread
17772/1139341664
3c dd=225 locks held 0 write locks 0 pid/thread
17772/1140394336
3d dd=223 locks held 0 write locks 0 pid/thread
17772/1141447008
3e dd=221 locks held 0 write locks 0 pid/thread
17772/1142499680
3f dd=219 locks held 0 write locks 0 pid/thread
17772/1143552352
40 dd=217 locks held 0 write locks 0 pid/thread
17772/1144605024
41 dd=215 locks held 0 write locks 0 pid/thread
17772/1145657696
42 dd=213 locks held 0 write locks 0 pid/thread
17772/1146710368
43 dd=211 locks held 0 write locks 0 pid/thread
17772/1147763040
44 dd=209 locks held 0 write locks 0 pid/thread
17772/1148815712
45 dd=207 locks held 0 write locks 0 pid/thread
17772/1149868384
46 dd=205 locks held 0 write locks 0 pid/thread
17772/1150921056
47 dd=203 locks held 0 write locks 0 pid/thread
17772/1151973728
48 dd=201 locks held 0 write locks 0 pid/thread
17772/1153026400
49 dd=199 locks held 0 write locks 0 pid/thread
17772/1154079072
4a dd=197 locks held 0 write locks 0 pid/thread
17772/1155131744
4b dd=195 locks held 0 write locks 0 pid/thread
17772/1156184416
4c dd=193 locks held 0 write locks 0 pid/thread
17772/1104603488
4d dd=191 locks held 0 write locks 0 pid/thread
17772/1157237088
4e dd=189 locks held 0 write locks 0 pid/thread
17772/1158289760
4f dd=187 locks held 0 write locks 0 pid/thread
17772/1160395104
50 dd=185 locks held 0 write locks 0 pid/thread
17772/1161447776
51 dd=183 locks held 0 write locks 0 pid/thread
17772/1162500448
52 dd=181 locks held 0 write locks 0 pid/thread
17772/1163553120
53 dd=179 locks held 0 write locks 0 pid/thread
17772/1164605792
54 dd=177 locks held 0 write locks 0 pid/thread
17772/1165658464
55 dd=175 locks held 0 write locks 0 pid/thread
17772/1166711136
56 dd=173 locks held 0 write locks 0 pid/thread
17772/1167763808
57 dd=171 locks held 0 write locks 0 pid/thread
17772/1168816480
58 dd=169 locks held 0 write locks 0 pid/thread
17772/1169869152
59 dd=167 locks held 0 write locks 0 pid/thread
17772/1170921824
5a dd=165 locks held 0 write locks 0 pid/thread
17772/1171974496
5b dd=163 locks held 0 write locks 0 pid/thread
17772/1173027168
5c dd=161 locks held 0 write locks 0 pid/thread
17772/1174079840
5d dd=159 locks held 0 write locks 0 pid/thread
17772/1175132512
5e dd=157 locks held 0 write locks 0 pid/thread
17772/1176185184
5f dd=155 locks held 0 write locks 0 pid/thread
17772/1177237856
60 dd=153 locks held 0 write locks 0 pid/thread
17772/1178290528
61 dd=151 locks held 0 write locks 0 pid/thread
17772/1179343200
62 dd=149 locks held 0 write locks 0 pid/thread
17772/1180395872
63 dd=147 locks held 0 write locks 0 pid/thread
17772/1181448544
64 dd=145 locks held 0 write locks 0 pid/thread
17772/1182501216
65 dd=143 locks held 0 write locks 0 pid/thread
17772/1183553888
66 dd=141 locks held 0 write locks 0 pid/thread
17772/1184606560
67 dd=139 locks held 0 write locks 0 pid/thread
17772/1185659232
68 dd=137 locks held 0 write locks 0 pid/thread
17772/1186711904
69 dd=135 locks held 0 write locks 0 pid/thread
17772/1187764576
6a dd=133 locks held 0 write locks 0 pid/thread
17772/1188817248
6b dd=131 locks held 0 write locks 0 pid/thread
17772/1189869920
6c dd=129 locks held 0 write locks 0 pid/thread
17772/1190922592
6d dd=127 locks held 0 write locks 0 pid/thread
17772/1191975264
6e dd=125 locks held 0 write locks 0 pid/thread
17772/1193027936
6f dd=123 locks held 0 write locks 0 pid/thread
17772/1194080608
70 dd=121 locks held 0 write locks 0 pid/thread
17772/1195133280
71 dd=119 locks held 0 write locks 0 pid/thread
17772/1196185952
72 dd=117 locks held 0 write locks 0 pid/thread
17772/1197238624
73 dd=115 locks held 0 write locks 0 pid/thread
17772/1198291296
74 dd=113 locks held 0 write locks 0 pid/thread
17772/1199343968
75 dd=111 locks held 0 write locks 0 pid/thread
17772/1200396640
76 dd=109 locks held 0 write locks 0 pid/thread
17772/1201449312
77 dd=107 locks held 0 write locks 0 pid/thread
17772/1202501984
78 dd=105 locks held 0 write locks 0 pid/thread
17772/1203554656
79 dd=103 locks held 0 write locks 0 pid/thread
17772/1204607328
7a dd=101 locks held 0 write locks 0 pid/thread
17772/1205660000
7b dd=99 locks held 0 write locks 0 pid/thread
17772/1206712672
7c dd=97 locks held 0 write locks 0 pid/thread
17772/1207765344
7d dd=95 locks held 0 write locks 0 pid/thread
17772/1208818016
7e dd=93 locks held 0 write locks 0 pid/thread
17772/1209870688
7f dd=91 locks held 0 write locks 0 pid/thread
17772/1210923360
80 dd=89 locks held 0 write locks 0 pid/thread
17772/1211976032
81 dd=87 locks held 0 write locks 0 pid/thread
17772/1213028704
82 dd=85 locks held 0 write locks 0 pid/thread
17772/1214081376
83 dd=83 locks held 0 write locks 0 pid/thread
17772/1215134048
84 dd=81 locks held 0 write locks 0 pid/thread
17772/1216186720
85 dd=79 locks held 0 write locks 0 pid/thread
17772/1217239392
86 dd=77 locks held 0 write locks 0 pid/thread
17772/1218292064
87 dd=75 locks held 0 write locks 0 pid/thread
17772/1219344736
88 dd=73 locks held 0 write locks 0 pid/thread
17772/1220397408
89 dd=71 locks held 0 write locks 0 pid/thread
17772/1221450080
8a dd=69 locks held 0 write locks 0 pid/thread
17772/1222502752
8b dd=67 locks held 0 write locks 0 pid/thread
17772/1223555424
8c dd=65 locks held 0 write locks 0 pid/thread
17772/1224608096
8d dd=63 locks held 0 write locks 0 pid/thread
17772/1225660768
8e dd=61 locks held 0 write locks 0 pid/thread
17772/1226713440
8f dd=59 locks held 0 write locks 0 pid/thread
17772/1227766112
90 dd=57 locks held 0 write locks 0 pid/thread
17772/1228818784
91 dd=55 locks held 0 write locks 0 pid/thread
17772/1229871456
92 dd=53 locks held 0 write locks 0 pid/thread
17772/1230924128
93 dd=51 locks held 0 write locks 0 pid/thread
17772/1159342432
94 dd=49 locks held 0 write locks 0 pid/thread
17772/1231976800
95 dd=47 locks held 0 write locks 0 pid/thread
17772/1233029472
96 dd=45 locks held 0 write locks 0 pid/thread
17772/1234082144
97 dd=43 locks held 0 write locks 0 pid/thread
17772/1236187488
98 dd=41 locks held 0 write locks 0 pid/thread
17772/1237240160
99 dd=39 locks held 0 write locks 0 pid/thread
17772/1238292832
9a dd=37 locks held 0 write locks 0 pid/thread
17772/1239345504
9b dd=35 locks held 0 write locks 0 pid/thread
17772/1240398176
9c dd=33 locks held 0 write locks 0 pid/thread
17772/1241450848
9d dd=31 locks held 0 write locks 0 pid/thread
17772/1242503520
9e dd=29 locks held 0 write locks 0 pid/thread
17772/1243556192
9f dd=27 locks held 0 write locks 0 pid/thread
17772/1244608864
a0 dd=25 locks held 0 write locks 0 pid/thread
17772/1245661536
a1 dd=23 locks held 0 write locks 0 pid/thread
17772/1246714208
a2 dd=21 locks held 0 write locks 0 pid/thread
17772/1247766880
a3 dd=19 locks held 0 write locks 0 pid/thread
17772/1248819552
a4 dd=17 locks held 0 write locks 0 pid/thread
17772/1249872224
a5 dd=15 locks held 0 write locks 0 pid/thread
17772/1250924896
a6 dd=13 locks held 0 write locks 0 pid/thread
17772/1251977568
a7 dd=11 locks held 0 write locks 0 pid/thread
17772/1253030240
a8 dd= 9 locks held 0 write locks 0 pid/thread
17772/1254082912
a9 dd= 7 locks held 0 write locks 0 pid/thread
17772/1255135584
aa dd= 5 locks held 0 write locks 0 pid/thread
17772/1256188256
ab dd= 3 locks held 0 write locks 0 pid/thread
17772/1257240928
ac dd= 1 locks held 0 write locks 0 pid/thread
17772/1258293600
800029a0 dd=298 locks held 2 write locks 2 pid/thread
17772/1102498144
800029a0 WRITE 1 HELD cluster.db page
9
800029a0 WRITE 4 HELD cluster.db page
632
800029a1 dd=296 locks held 1 write locks 0 pid/thread
17772/1090918752
800029a1 WRITE 1 WAIT cluster.db page
632
800029a1 READ 1 HELD cluster.db page
508
800029a2 dd=294 locks held 1 write locks 0 pid/thread
17772/1096182112
800029a2 WRITE 1 WAIT cluster.db page
632
800029a2 READ 1 HELD cluster.db page
508
800029a3 dd=292 locks held 1 write locks 0 pid/thread
17772/1103550816
800029a3 WRITE 1 WAIT cluster.db page
632
800029a3 READ 1 HELD cluster.db page
508
800029a4 dd=290 locks held 1 write locks 0 pid/thread
17772/1105656160
800029a4 WRITE 1 WAIT cluster.db page
632
800029a4 READ 1 HELD cluster.db page
508
800029a5 dd=288 locks held 1 write locks 0 pid/thread
17772/1106708832
800029a5 WRITE 1 WAIT cluster.db page
632
800029a5 READ 1 HELD cluster.db page
508
800029a6 dd=286 locks held 1 write locks 0 pid/thread
17772/1107761504
800029a6 WRITE 1 WAIT cluster.db page
632
800029a6 READ 1 HELD cluster.db page
508
800029a7 dd=284 locks held 1 write locks 0 pid/thread
17772/1108814176
800029a7 WRITE 1 WAIT cluster.db page
632
800029a7 READ 1 HELD cluster.db page
508
800029a8 dd=282 locks held 1 write locks 0 pid/thread
17772/1109866848
800029a8 WRITE 1 WAIT cluster.db page
632
800029a8 READ 1 HELD cluster.db page
508
800029a9 dd=280 locks held 1 write locks 0 pid/thread
17772/1110919520
800029a9 WRITE 1 WAIT cluster.db page
632
800029a9 READ 1 HELD cluster.db page
508
800029aa dd=278 locks held 1 write locks 0 pid/thread
17772/1111972192
800029aa WRITE 1 WAIT cluster.db page
632
800029aa READ 1 HELD cluster.db page
508
800029ab dd=276 locks held 1 write locks 0 pid/thread
17772/1113024864
800029ab WRITE 1 WAIT cluster.db page
632
800029ab READ 1 HELD cluster.db page
508
800029ac dd=274 locks held 1 write locks 0 pid/thread
17772/1114077536
800029ac WRITE 1 WAIT cluster.db page
632
800029ac READ 1 HELD cluster.db page
508
800029ad dd=272 locks held 1 write locks 0 pid/thread
17772/1115130208
800029ad WRITE 1 WAIT cluster.db page
632
800029ad READ 1 HELD cluster.db page
508
800029ae dd=270 locks held 1 write locks 0 pid/thread
17772/1116182880
800029ae WRITE 1 WAIT cluster.db page
632
800029ae READ 1 HELD cluster.db page
508
800029af dd=268 locks held 1 write locks 0 pid/thread
17772/1117235552
800029af WRITE 1 WAIT cluster.db page
632
800029af READ 1 HELD cluster.db page
508
800029b0 dd=266 locks held 1 write locks 0 pid/thread
17772/1118288224
800029b0 WRITE 1 WAIT cluster.db page
632
800029b0 READ 1 HELD cluster.db page
508
800029b1 dd=264 locks held 1 write locks 0 pid/thread
17772/1119340896
800029b1 WRITE 1 WAIT cluster.db page
632
800029b1 READ 1 HELD cluster.db page
508
800029b2 dd=262 locks held 1 write locks 0 pid/thread
17772/1120393568
800029b2 WRITE 1 WAIT cluster.db page
632
800029b2 READ 1 HELD cluster.db page
508
800029b3 dd=260 locks held 1 write locks 0 pid/thread
17772/1121446240
800029b3 WRITE 1 WAIT cluster.db page
632
800029b3 READ 1 HELD cluster.db page
508
800029b4 dd=258 locks held 1 write locks 0 pid/thread
17772/1122498912
800029b4 WRITE 1 WAIT cluster.db page
632
800029b4 READ 1 HELD cluster.db page
508
800029b5 dd=256 locks held 1 write locks 0 pid/thread
17772/1123551584
800029b5 WRITE 1 WAIT cluster.db page
632
800029b5 READ 1 HELD cluster.db page
508
800029b6 dd=254 locks held 1 write locks 0 pid/thread
17772/1124604256
800029b6 WRITE 1 WAIT cluster.db page
632
800029b6 READ 1 HELD cluster.db page
508
800029b7 dd=252 locks held 1 write locks 0 pid/thread
17772/1125656928
800029b7 WRITE 1 WAIT cluster.db page
632
800029b7 READ 1 HELD cluster.db page
508
800029b8 dd=250 locks held 1 write locks 0 pid/thread
17772/1126709600
800029b8 WRITE 1 WAIT cluster.db page
632
800029b8 READ 1 HELD cluster.db page
508
800029b9 dd=248 locks held 1 write locks 0 pid/thread
17772/1127762272
800029b9 WRITE 1 WAIT cluster.db page
632
800029b9 READ 1 HELD cluster.db page
508
800029ba dd=246 locks held 1 write locks 0 pid/thread
17772/1128814944
800029ba WRITE 1 WAIT cluster.db page
632
800029ba READ 1 HELD cluster.db page
508
800029bb dd=244 locks held 1 write locks 0 pid/thread
17772/1129867616
800029bb WRITE 1 WAIT cluster.db page
632
800029bb READ 1 HELD cluster.db page
508
800029bc dd=242 locks held 1 write locks 0 pid/thread
17772/1130920288
800029bc WRITE 1 WAIT cluster.db page
632
800029bc READ 1 HELD cluster.db page
508
800029bd dd=240 locks held 1 write locks 0 pid/thread
17772/1131972960
800029bd WRITE 1 WAIT cluster.db page
632
800029bd READ 1 HELD cluster.db page
508
800029be dd=238 locks held 1 write locks 0 pid/thread
17772/1133025632
800029be WRITE 1 WAIT cluster.db page
632
800029be READ 1 HELD cluster.db page
508
800029bf dd=236 locks held 1 write locks 0 pid/thread
17772/1134078304
800029bf WRITE 1 WAIT cluster.db page
632
800029bf READ 1 HELD cluster.db page
508
800029c0 dd=234 locks held 1 write locks 0 pid/thread
17772/1135130976
800029c0 WRITE 1 WAIT cluster.db page
632
800029c0 READ 1 HELD cluster.db page
508
800029c1 dd=232 locks held 1 write locks 0 pid/thread
17772/1136183648
800029c1 WRITE 1 WAIT cluster.db page
632
800029c1 READ 1 HELD cluster.db page
508
800029c2 dd=230 locks held 1 write locks 0 pid/thread
17772/1137236320
800029c2 WRITE 1 WAIT cluster.db page
632
800029c2 READ 1 HELD cluster.db page
508
800029c3 dd=228 locks held 1 write locks 0 pid/thread
17772/1138288992
800029c3 WRITE 1 WAIT cluster.db page
632
800029c3 READ 1 HELD cluster.db page
508
800029c4 dd=226 locks held 1 write locks 0 pid/thread
17772/1139341664
800029c4 WRITE 1 WAIT cluster.db page
632
800029c4 READ 1 HELD cluster.db page
508
800029c5 dd=224 locks held 1 write locks 0 pid/thread
17772/1140394336
800029c5 WRITE 1 WAIT cluster.db page
632
800029c5 READ 1 HELD cluster.db page
508
800029c6 dd=222 locks held 1 write locks 0 pid/thread
17772/1141447008
800029c6 WRITE 1 WAIT cluster.db page
632
800029c6 READ 1 HELD cluster.db page
508
800029c7 dd=220 locks held 1 write locks 0 pid/thread
17772/1142499680
800029c7 WRITE 1 WAIT cluster.db page
632
800029c7 READ 1 HELD cluster.db page
508
800029c8 dd=218 locks held 1 write locks 0 pid/thread
17772/1143552352
800029c8 WRITE 1 WAIT cluster.db page
632
800029c8 READ 1 HELD cluster.db page
508
800029c9 dd=216 locks held 1 write locks 0 pid/thread
17772/1144605024
800029c9 WRITE 1 WAIT cluster.db page
632
800029c9 READ 1 HELD cluster.db page
508
800029ca dd=214 locks held 1 write locks 0 pid/thread
17772/1145657696
800029ca WRITE 1 WAIT cluster.db page
632
800029ca READ 1 HELD cluster.db page
508
800029cb dd=212 locks held 1 write locks 0 pid/thread
17772/1146710368
800029cb WRITE 1 WAIT cluster.db page
632
800029cb READ 1 HELD cluster.db page
508
800029cc dd=210 locks held 1 write locks 0 pid/thread
17772/1147763040
800029cc WRITE 1 WAIT cluster.db page
632
800029cc READ 1 HELD cluster.db page
508
800029cd dd=208 locks held 1 write locks 0 pid/thread
17772/1148815712
800029cd WRITE 1 WAIT cluster.db page
632
800029cd READ 1 HELD cluster.db page
508
800029ce dd=206 locks held 1 write locks 0 pid/thread
17772/1149868384
800029ce WRITE 1 WAIT cluster.db page
632
800029ce READ 1 HELD cluster.db page
508
800029cf dd=204 locks held 1 write locks 0 pid/thread
17772/1150921056
800029cf WRITE 1 WAIT cluster.db page
632
800029cf READ 1 HELD cluster.db page
508
800029d0 dd=202 locks held 1 write locks 0 pid/thread
17772/1151973728
800029d0 WRITE 1 WAIT cluster.db page
632
800029d0 READ 1 HELD cluster.db page
508
800029d1 dd=200 locks held 1 write locks 0 pid/thread
17772/1153026400
800029d1 WRITE 1 WAIT cluster.db page
632
800029d1 READ 1 HELD cluster.db page
508
800029d2 dd=198 locks held 1 write locks 0 pid/thread
17772/1154079072
800029d2 WRITE 1 WAIT cluster.db page
632
800029d2 READ 1 HELD cluster.db page
508
800029d3 dd=196 locks held 1 write locks 0 pid/thread
17772/1155131744
800029d3 WRITE 1 WAIT cluster.db page
632
800029d3 READ 1 HELD cluster.db page
508
800029d4 dd=194 locks held 1 write locks 0 pid/thread
17772/1156184416
800029d4 WRITE 1 WAIT cluster.db page
632
800029d4 READ 1 HELD cluster.db page
508
800029d5 dd=192 locks held 1 write locks 0 pid/thread
17772/1104603488
800029d5 WRITE 1 WAIT cluster.db page
632
800029d5 READ 1 HELD cluster.db page
508
800029d6 dd=190 locks held 1 write locks 0 pid/thread
17772/1157237088
800029d6 WRITE 1 WAIT cluster.db page
632
800029d6 READ 1 HELD cluster.db page
508
800029d7 dd=188 locks held 1 write locks 0 pid/thread
17772/1158289760
800029d7 WRITE 1 WAIT cluster.db page
632
800029d7 READ 1 HELD cluster.db page
508
800029d8 dd=186 locks held 1 write locks 0 pid/thread
17772/1160395104
800029d8 WRITE 1 WAIT cluster.db page
632
800029d8 READ 1 HELD cluster.db page
508
800029d9 dd=184 locks held 1 write locks 0 pid/thread
17772/1161447776
800029d9 WRITE 1 WAIT cluster.db page
632
800029d9 READ 1 HELD cluster.db page
508
800029da dd=182 locks held 1 write locks 0 pid/thread
17772/1162500448
800029da WRITE 1 WAIT cluster.db page
632
800029da READ 1 HELD cluster.db page
508
800029db dd=180 locks held 1 write locks 0 pid/thread
17772/1163553120
800029db WRITE 1 WAIT cluster.db page
632
800029db READ 1 HELD cluster.db page
508
800029dc dd=178 locks held 1 write locks 0 pid/thread
17772/1164605792
800029dc WRITE 1 WAIT cluster.db page
632
800029dc READ 1 HELD cluster.db page
508
800029dd dd=176 locks held 1 write locks 0 pid/thread
17772/1165658464
800029dd WRITE 1 WAIT cluster.db page
632
800029dd READ 1 HELD cluster.db page
508
800029de dd=174 locks held 1 write locks 0 pid/thread
17772/1166711136
800029de WRITE 1 WAIT cluster.db page
632
800029de READ 1 HELD cluster.db page
508
800029df dd=172 locks held 1 write locks 0 pid/thread
17772/1167763808
800029df WRITE 1 WAIT cluster.db page
632
800029df READ 1 HELD cluster.db page
508
800029e0 dd=170 locks held 1 write locks 0 pid/thread
17772/1168816480
800029e0 WRITE 1 WAIT cluster.db page
632
800029e0 READ 1 HELD cluster.db page
508
800029e1 dd=168 locks held 1 write locks 0 pid/thread
17772/1169869152
800029e1 WRITE 1 WAIT cluster.db page
632
800029e1 READ 1 HELD cluster.db page
508
800029e2 dd=166 locks held 1 write locks 0 pid/thread
17772/1170921824
800029e2 WRITE 1 WAIT cluster.db page
632
800029e2 READ 1 HELD cluster.db page
508
800029e3 dd=164 locks held 1 write locks 0 pid/thread
17772/1171974496
800029e3 WRITE 1 WAIT cluster.db page
632
800029e3 READ 1 HELD cluster.db page
508
800029e4 dd=162 locks held 1 write locks 0 pid/thread
17772/1173027168
800029e4 WRITE 1 WAIT cluster.db page
632
800029e4 READ 1 HELD cluster.db page
508
800029e5 dd=160 locks held 1 write locks 0 pid/thread
17772/1174079840
800029e5 WRITE 1 WAIT cluster.db page
632
800029e5 READ 1 HELD cluster.db page
508
800029e6 dd=158 locks held 1 write locks 0 pid/thread
17772/1175132512
800029e6 WRITE 1 WAIT cluster.db page
632
800029e6 READ 1 HELD cluster.db page
508
800029e7 dd=156 locks held 1 write locks 0 pid/thread
17772/1176185184
800029e7 WRITE 1 WAIT cluster.db page
632
800029e7 READ 1 HELD cluster.db page
508
800029e8 dd=154 locks held 1 write locks 0 pid/thread
17772/1177237856
800029e8 WRITE 1 WAIT cluster.db page
632
800029e8 READ 1 HELD cluster.db page
508
800029e9 dd=152 locks held 1 write locks 0 pid/thread
17772/1178290528
800029e9 WRITE 1 WAIT cluster.db page
632
800029e9 READ 1 HELD cluster.db page
508
800029ea dd=150 locks held 1 write locks 0 pid/thread
17772/1179343200
800029ea WRITE 1 WAIT cluster.db page
632
800029ea READ 1 HELD cluster.db page
508
800029eb dd=148 locks held 1 write locks 0 pid/thread
17772/1180395872
800029eb WRITE 1 WAIT cluster.db page
632
800029eb READ 1 HELD cluster.db page
508
800029ec dd=146 locks held 1 write locks 0 pid/thread
17772/1181448544
800029ec WRITE 1 WAIT cluster.db page
632
800029ec READ 1 HELD cluster.db page
508
800029ed dd=144 locks held 1 write locks 0 pid/thread
17772/1182501216
800029ed WRITE 1 WAIT cluster.db page
632
800029ed READ 1 HELD cluster.db page
508
800029ee dd=142 locks held 1 write locks 0 pid/thread
17772/1183553888
800029ee WRITE 1 WAIT cluster.db page
632
800029ee READ 1 HELD cluster.db page
508
800029ef dd=140 locks held 1 write locks 0 pid/thread
17772/1184606560
800029ef WRITE 1 WAIT cluster.db page
632
800029ef READ 1 HELD cluster.db page
508
800029f0 dd=138 locks held 1 write locks 0 pid/thread
17772/1185659232
800029f0 WRITE 1 WAIT cluster.db page
632
800029f0 READ 1 HELD cluster.db page
508
800029f1 dd=136 locks held 1 write locks 0 pid/thread
17772/1186711904
800029f1 WRITE 1 WAIT cluster.db page
632
800029f1 READ 1 HELD cluster.db page
508
800029f2 dd=134 locks held 1 write locks 0 pid/thread
17772/1187764576
800029f2 WRITE 1 WAIT cluster.db page
632
800029f2 READ 1 HELD cluster.db page
508
800029f3 dd=132 locks held 1 write locks 0 pid/thread
17772/1188817248
800029f3 WRITE 1 WAIT cluster.db page
632
800029f3 READ 1 HELD cluster.db page
508
800029f4 dd=130 locks held 1 write locks 0 pid/thread
17772/1189869920
800029f4 WRITE 1 WAIT cluster.db page
632
800029f4 READ 1 HELD cluster.db page
508
800029f5 dd=128 locks held 1 write locks 0 pid/thread
17772/1190922592
800029f5 WRITE 1 WAIT cluster.db page
632
800029f5 READ 1 HELD cluster.db page
508
800029f6 dd=126 locks held 1 write locks 0 pid/thread
17772/1191975264
800029f6 WRITE 1 WAIT cluster.db page
632
800029f6 READ 1 HELD cluster.db page
508
800029f7 dd=124 locks held 1 write locks 0 pid/thread
17772/1193027936
800029f7 WRITE 1 WAIT cluster.db page
632
800029f7 READ 1 HELD cluster.db page
508
800029f8 dd=122 locks held 1 write locks 0 pid/thread
17772/1194080608
800029f8 WRITE 1 WAIT cluster.db page
632
800029f8 READ 1 HELD cluster.db page
508
800029f9 dd=120 locks held 1 write locks 0 pid/thread
17772/1195133280
800029f9 WRITE 1 WAIT cluster.db page
632
800029f9 READ 1 HELD cluster.db page
508
800029fa dd=118 locks held 1 write locks 0 pid/thread
17772/1196185952
800029fa WRITE 1 WAIT cluster.db page
632
800029fa READ 1 HELD cluster.db page
508
800029fb dd=116 locks held 1 write locks 0 pid/thread
17772/1197238624
800029fb WRITE 1 WAIT cluster.db page
632
800029fb READ 1 HELD cluster.db page
508
800029fc dd=114 locks held 1 write locks 0 pid/thread
17772/1198291296
800029fc WRITE 1 WAIT cluster.db page
632
800029fc READ 1 HELD cluster.db page
508
800029fd dd=112 locks held 1 write locks 0 pid/thread
17772/1199343968
800029fd WRITE 1 WAIT cluster.db page
632
800029fd READ 1 HELD cluster.db page
508
800029fe dd=110 locks held 1 write locks 0 pid/thread
17772/1200396640
800029fe WRITE 1 WAIT cluster.db page
632
800029fe READ 1 HELD cluster.db page
508
800029ff dd=108 locks held 1 write locks 0 pid/thread
17772/1201449312
800029ff WRITE 1 WAIT cluster.db page
632
800029ff READ 1 HELD cluster.db page
508
80002a00 dd=106 locks held 1 write locks 0 pid/thread
17772/1202501984
80002a00 WRITE 1 WAIT cluster.db page
632
80002a00 READ 1 HELD cluster.db page
508
80002a01 dd=104 locks held 1 write locks 0 pid/thread
17772/1203554656
80002a01 WRITE 1 WAIT cluster.db page
632
80002a01 READ 1 HELD cluster.db page
508
80002a02 dd=102 locks held 1 write locks 0 pid/thread
17772/1204607328
80002a02 WRITE 1 WAIT cluster.db page
632
80002a02 READ 1 HELD cluster.db page
508
80002a03 dd=100 locks held 1 write locks 0 pid/thread
17772/1205660000
80002a03 WRITE 1 WAIT cluster.db page
632
80002a03 READ 1 HELD cluster.db page
508
80002a04 dd=98 locks held 1 write locks 0 pid/thread
17772/1206712672
80002a04 WRITE 1 WAIT cluster.db page
632
80002a04 READ 1 HELD cluster.db page
508
80002a05 dd=96 locks held 1 write locks 0 pid/thread
17772/1207765344
80002a05 WRITE 1 WAIT cluster.db page
632
80002a05 READ 1 HELD cluster.db page
508
80002a06 dd=94 locks held 1 write locks 0 pid/thread
17772/1208818016
80002a06 WRITE 1 WAIT cluster.db page
632
80002a06 READ 1 HELD cluster.db page
508
80002a07 dd=92 locks held 1 write locks 0 pid/thread
17772/1209870688
80002a07 WRITE 1 WAIT cluster.db page
632
80002a07 READ 1 HELD cluster.db page
508
80002a08 dd=90 locks held 1 write locks 0 pid/thread
17772/1210923360
80002a08 WRITE 1 WAIT cluster.db page
632
80002a08 READ 1 HELD cluster.db page
508
80002a09 dd=88 locks held 1 write locks 0 pid/thread
17772/1211976032
80002a09 WRITE 1 WAIT cluster.db page
632
80002a09 READ 1 HELD cluster.db page
508
80002a0a dd=86 locks held 1 write locks 0 pid/thread
17772/1213028704
80002a0a WRITE 1 WAIT cluster.db page
632
80002a0a READ 1 HELD cluster.db page
508
80002a0b dd=84 locks held 1 write locks 0 pid/thread
17772/1214081376
80002a0b WRITE 1 WAIT cluster.db page
632
80002a0b READ 1 HELD cluster.db page
508
80002a0c dd=82 locks held 1 write locks 0 pid/thread
17772/1215134048
80002a0c WRITE 1 WAIT cluster.db page
632
80002a0c READ 1 HELD cluster.db page
508
80002a0d dd=80 locks held 1 write locks 0 pid/thread
17772/1216186720
80002a0d WRITE 1 WAIT cluster.db page
632
80002a0d READ 1 HELD cluster.db page
508
80002a0e dd=78 locks held 1 write locks 0 pid/thread
17772/1217239392
80002a0e WRITE 1 WAIT cluster.db page
632
80002a0e READ 1 HELD cluster.db page
508
80002a0f dd=76 locks held 1 write locks 0 pid/thread
17772/1218292064
80002a0f WRITE 1 WAIT cluster.db page
632
80002a0f READ 1 HELD cluster.db page
508
80002a10 dd=74 locks held 1 write locks 0 pid/thread
17772/1219344736
80002a10 WRITE 1 WAIT cluster.db page
632
80002a10 READ 1 HELD cluster.db page
508
80002a11 dd=72 locks held 1 write locks 0 pid/thread
17772/1220397408
80002a11 WRITE 1 WAIT cluster.db page
632
80002a11 READ 1 HELD cluster.db page
508
80002a12 dd=70 locks held 1 write locks 0 pid/thread
17772/1221450080
80002a12 WRITE 1 WAIT cluster.db page
632
80002a12 READ 1 HELD cluster.db page
508
80002a13 dd=68 locks held 1 write locks 0 pid/thread
17772/1222502752
80002a13 WRITE 1 WAIT cluster.db page
632
80002a13 READ 1 HELD cluster.db page
508
80002a14 dd=66 locks held 1 write locks 0 pid/thread
17772/1223555424
80002a14 WRITE 1 WAIT cluster.db page
632
80002a14 READ 1 HELD cluster.db page
508
80002a15 dd=64 locks held 1 write locks 0 pid/thread
17772/1224608096
80002a15 WRITE 1 WAIT cluster.db page
632
80002a15 READ 1 HELD cluster.db page
508
80002a16 dd=62 locks held 1 write locks 0 pid/thread
17772/1225660768
80002a16 WRITE 1 WAIT cluster.db page
632
80002a16 READ 1 HELD cluster.db page
508
80002a17 dd=60 locks held 1 write locks 0 pid/thread
17772/1226713440
80002a17 WRITE 1 WAIT cluster.db page
632
80002a17 READ 1 HELD cluster.db page
508
80002a18 dd=58 locks held 1 write locks 0 pid/thread
17772/1227766112
80002a18 WRITE 1 WAIT cluster.db page
632
80002a18 READ 1 HELD cluster.db page
508
80002a19 dd=56 locks held 1 write locks 0 pid/thread
17772/1228818784
80002a19 WRITE 1 WAIT cluster.db page
632
80002a19 READ 1 HELD cluster.db page
508
80002a1a dd=54 locks held 1 write locks 0 pid/thread
17772/1229871456
80002a1a WRITE 1 WAIT cluster.db page
632
80002a1a READ 1 HELD cluster.db page
508
80002a1b dd=52 locks held 1 write locks 0 pid/thread
17772/1230924128
80002a1b WRITE 1 WAIT cluster.db page
632
80002a1b READ 1 HELD cluster.db page
508
80002a1c dd=50 locks held 1 write locks 0 pid/thread
17772/1159342432
80002a1c WRITE 1 WAIT cluster.db page
632
80002a1c READ 1 HELD cluster.db page
508
80002a1d dd=48 locks held 1 write locks 0 pid/thread
17772/1231976800
80002a1d WRITE 1 WAIT cluster.db page
632
80002a1d READ 1 HELD cluster.db page
508
80002a1e dd=46 locks held 1 write locks 0 pid/thread
17772/1233029472
80002a1e WRITE 1 WAIT cluster.db page
632
80002a1e READ 1 HELD cluster.db page
508
80002a1f dd=44 locks held 1 write locks 0 pid/thread
17772/1234082144
80002a1f WRITE 1 WAIT cluster.db page
632
80002a1f READ 1 HELD cluster.db page
508
80002a20 dd=42 locks held 1 write locks 0 pid/thread
17772/1236187488
80002a20 WRITE 1 WAIT cluster.db page
632
80002a20 READ 1 HELD cluster.db page
508
80002a21 dd=40 locks held 1 write locks 0 pid/thread
17772/1237240160
80002a21 WRITE 1 WAIT cluster.db page
632
80002a21 READ 1 HELD cluster.db page
508
80002a22 dd=38 locks held 1 write locks 0 pid/thread
17772/1238292832
80002a22 WRITE 1 WAIT cluster.db page
632
80002a22 READ 1 HELD cluster.db page
508
80002a23 dd=36 locks held 1 write locks 0 pid/thread
17772/1239345504
80002a23 WRITE 1 WAIT cluster.db page
632
80002a23 READ 1 HELD cluster.db page
508
80002a24 dd=34 locks held 1 write locks 0 pid/thread
17772/1240398176
80002a24 WRITE 1 WAIT cluster.db page
632
80002a24 READ 1 HELD cluster.db page
508
80002a25 dd=32 locks held 1 write locks 0 pid/thread
17772/1241450848
80002a25 WRITE 1 WAIT cluster.db page
632
80002a25 READ 1 HELD cluster.db page
508
80002a26 dd=30 locks held 1 write locks 0 pid/thread
17772/1242503520
80002a26 WRITE 1 WAIT cluster.db page
632
80002a26 READ 1 HELD cluster.db page
508
80002a27 dd=28 locks held 1 write locks 0 pid/thread
17772/1243556192
80002a27 WRITE 1 WAIT cluster.db page
632
80002a27 READ 1 HELD cluster.db page
508
80002a28 dd=26 locks held 1 write locks 0 pid/thread
17772/1244608864
80002a28 WRITE 1 WAIT cluster.db page
632
80002a28 READ 1 HELD cluster.db page
508
80002a29 dd=24 locks held 1 write locks 0 pid/thread
17772/1245661536
80002a29 WRITE 1 WAIT cluster.db page
632
80002a29 READ 1 HELD cluster.db page
508
80002a2a dd=22 locks held 1 write locks 0 pid/thread
17772/1246714208
80002a2a WRITE 1 WAIT cluster.db page
632
80002a2a READ 1 HELD cluster.db page
508
80002a2b dd=20 locks held 1 write locks 0 pid/thread
17772/1247766880
80002a2b WRITE 1 WAIT cluster.db page
632
80002a2b READ 1 HELD cluster.db page
508
80002a2c dd=18 locks held 1 write locks 0 pid/thread
17772/1248819552
80002a2c WRITE 1 WAIT cluster.db page
632
80002a2c READ 1 HELD cluster.db page
508
80002a2d dd=16 locks held 1 write locks 0 pid/thread
17772/1249872224
80002a2d WRITE 1 WAIT cluster.db page
632
80002a2d READ 1 HELD cluster.db page
508
80002a2e dd=14 locks held 1 write locks 0 pid/thread
17772/1250924896
80002a2e WRITE 1 WAIT cluster.db page
632
80002a2e READ 1 HELD cluster.db page
508
80002a2f dd=12 locks held 1 write locks 0 pid/thread
17772/1251977568
80002a2f WRITE 1 WAIT cluster.db page
632
80002a2f READ 1 HELD cluster.db page
508
80002a30 dd=10 locks held 1 write locks 0 pid/thread
17772/1253030240
80002a30 WRITE 1 WAIT cluster.db page
632
80002a30 READ 1 HELD cluster.db page
508
80002a31 dd= 8 locks held 1 write locks 0 pid/thread
17772/1254082912
80002a31 WRITE 1 WAIT cluster.db page
632
80002a31 READ 1 HELD cluster.db page
508
80002a32 dd= 6 locks held 1 write locks 0 pid/thread
17772/1255135584
80002a32 WRITE 1 WAIT cluster.db page
632
80002a32 READ 1 HELD cluster.db page
508
80002a33 dd= 4 locks held 1 write locks 0 pid/thread
17772/1256188256
80002a33 WRITE 1 WAIT cluster.db page
632
80002a33 READ 1 HELD cluster.db page
508
80002a34 dd= 2 locks held 1 write locks 0 pid/thread
17772/1257240928
80002a34 WRITE 1 WAIT cluster.db page
632
80002a34 READ 1 HELD cluster.db page
508
80002a35 dd= 0 locks held 1 write locks 0 pid/thread
17772/1258293600
80002a35 WRITE 1 WAIT cluster.db page
632
80002a35 READ 1 HELD cluster.db page
508
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Locks grouped by object:
Locker Mode Count Status ----------------- Object
---------------
800029a1 READ 1 HELD cluster.db page
508
800029a2 READ 1 HELD cluster.db page
508
800029a3 READ 1 HELD cluster.db page
508
800029a4 READ 1 HELD cluster.db page
508
800029a5 READ 1 HELD cluster.db page
508
800029a6 READ 1 HELD cluster.db page
508
800029a7 READ 1 HELD cluster.db page
508
800029a8 READ 1 HELD cluster.db page
508
800029a9 READ 1 HELD cluster.db page
508
800029aa READ 1 HELD cluster.db page
508
800029ab READ 1 HELD cluster.db page
508
800029ac READ 1 HELD cluster.db page
508
800029ad READ 1 HELD cluster.db page
508
800029ae READ 1 HELD cluster.db page
508
800029af READ 1 HELD cluster.db page
508
800029b0 READ 1 HELD cluster.db page
508
800029b1 READ 1 HELD cluster.db page
508
800029b2 READ 1 HELD cluster.db page
508
800029b3 READ 1 HELD cluster.db page
508
800029b4 READ 1 HELD cluster.db page
508
800029b5 READ 1 HELD cluster.db page
508
800029b6 READ 1 HELD cluster.db page
508
800029b7 READ 1 HELD cluster.db page
508
800029b8 READ 1 HELD cluster.db page
508
800029b9 READ 1 HELD cluster.db page
508
800029ba READ 1 HELD cluster.db page
508
800029bb READ 1 HELD cluster.db page
508
800029bc READ 1 HELD cluster.db page
508
800029bd READ 1 HELD cluster.db page
508
800029be READ 1 HELD cluster.db page
508
800029bf READ 1 HELD cluster.db page
508
800029c0 READ 1 HELD cluster.db page
508
800029c1 READ 1 HELD cluster.db page
508
800029c2 READ 1 HELD cluster.db page
508
800029c3 READ 1 HELD cluster.db page
508
800029c4 READ 1 HELD cluster.db page
508
800029c5 READ 1 HELD cluster.db page
508
800029c6 READ 1 HELD cluster.db page
508
800029c7 READ 1 HELD cluster.db page
508
800029c8 READ 1 HELD cluster.db page
508
800029c9 READ 1 HELD cluster.db page
508
800029ca READ 1 HELD cluster.db page
508
800029cb READ 1 HELD cluster.db page
508
800029cc READ 1 HELD cluster.db page
508
800029cd READ 1 HELD cluster.db page
508
800029ce READ 1 HELD cluster.db page
508
800029cf READ 1 HELD cluster.db page
508
800029d0 READ 1 HELD cluster.db page
508
800029d1 READ 1 HELD cluster.db page
508
800029d2 READ 1 HELD cluster.db page
508
800029d3 READ 1 HELD cluster.db page
508
800029d4 READ 1 HELD cluster.db page
508
800029d5 READ 1 HELD cluster.db page
508
800029d6 READ 1 HELD cluster.db page
508
800029d7 READ 1 HELD cluster.db page
508
800029d8 READ 1 HELD cluster.db page
508
800029d9 READ 1 HELD cluster.db page
508
800029da READ 1 HELD cluster.db page
508
800029db READ 1 HELD cluster.db page
508
800029dc READ 1 HELD cluster.db page
508
800029dd READ 1 HELD cluster.db page
508
800029de READ 1 HELD cluster.db page
508
800029df READ 1 HELD cluster.db page
508
800029e0 READ 1 HELD cluster.db page
508
800029e1 READ 1 HELD cluster.db page
508
800029e2 READ 1 HELD cluster.db page
508
800029e3 READ 1 HELD cluster.db page
508
800029e4 READ 1 HELD cluster.db page
508
800029e5 READ 1 HELD cluster.db page
508
800029e6 READ 1 HELD cluster.db page
508
800029e7 READ 1 HELD cluster.db page
508
800029e8 READ 1 HELD cluster.db page
508
800029e9 READ 1 HELD cluster.db page
508
800029ea READ 1 HELD cluster.db page
508
800029eb READ 1 HELD cluster.db page
508
800029ec READ 1 HELD cluster.db page
508
800029ed READ 1 HELD cluster.db page
508
800029ee READ 1 HELD cluster.db page
508
800029ef READ 1 HELD cluster.db page
508
800029f0 READ 1 HELD cluster.db page
508
800029f1 READ 1 HELD cluster.db page
508
800029f2 READ 1 HELD cluster.db page
508
800029f3 READ 1 HELD cluster.db page
508
800029f4 READ 1 HELD cluster.db page
508
800029f5 READ 1 HELD cluster.db page
508
800029f6 READ 1 HELD cluster.db page
508
800029f7 READ 1 HELD cluster.db page
508
800029f8 READ 1 HELD cluster.db page
508
800029f9 READ 1 HELD cluster.db page
508
800029fa READ 1 HELD cluster.db page
508
800029fb READ 1 HELD cluster.db page
508
800029fc READ 1 HELD cluster.db page
508
800029fd READ 1 HELD cluster.db page
508
800029fe READ 1 HELD cluster.db page
508
800029ff READ 1 HELD cluster.db page
508
80002a00 READ 1 HELD cluster.db page
508
80002a01 READ 1 HELD cluster.db page
508
80002a02 READ 1 HELD cluster.db page
508
80002a03 READ 1 HELD cluster.db page
508
80002a04 READ 1 HELD cluster.db page
508
80002a05 READ 1 HELD cluster.db page
508
80002a06 READ 1 HELD cluster.db page
508
80002a07 READ 1 HELD cluster.db page
508
80002a08 READ 1 HELD cluster.db page
508
80002a09 READ 1 HELD cluster.db page
508
80002a0a READ 1 HELD cluster.db page
508
80002a0b READ 1 HELD cluster.db page
508
80002a0c READ 1 HELD cluster.db page
508
80002a0d READ 1 HELD cluster.db page
508
80002a0e READ 1 HELD cluster.db page
508
80002a0f READ 1 HELD cluster.db page
508
80002a10 READ 1 HELD cluster.db page
508
80002a11 READ 1 HELD cluster.db page
508
80002a12 READ 1 HELD cluster.db page
508
80002a13 READ 1 HELD cluster.db page
508
80002a14 READ 1 HELD cluster.db page
508
80002a15 READ 1 HELD cluster.db page
508
80002a16 READ 1 HELD cluster.db page
508
80002a17 READ 1 HELD cluster.db page
508
80002a18 READ 1 HELD cluster.db page
508
80002a19 READ 1 HELD cluster.db page
508
80002a1a READ 1 HELD cluster.db page
508
80002a1b READ 1 HELD cluster.db page
508
80002a1c READ 1 HELD cluster.db page
508
80002a1d READ 1 HELD cluster.db page
508
80002a1e READ 1 HELD cluster.db page
508
80002a1f READ 1 HELD cluster.db page
508
80002a20 READ 1 HELD cluster.db page
508
80002a21 READ 1 HELD cluster.db page
508
80002a22 READ 1 HELD cluster.db page
508
80002a23 READ 1 HELD cluster.db page
508
80002a24 READ 1 HELD cluster.db page
508
80002a25 READ 1 HELD cluster.db page
508
80002a26 READ 1 HELD cluster.db page
508
80002a27 READ 1 HELD cluster.db page
508
80002a28 READ 1 HELD cluster.db page
508
80002a29 READ 1 HELD cluster.db page
508
80002a2a READ 1 HELD cluster.db page
508
80002a2b READ 1 HELD cluster.db page
508
80002a2c READ 1 HELD cluster.db page
508
80002a2d READ 1 HELD cluster.db page
508
80002a2e READ 1 HELD cluster.db page
508
80002a2f READ 1 HELD cluster.db page
508
80002a30 READ 1 HELD cluster.db page
508
80002a31 READ 1 HELD cluster.db page
508
80002a32 READ 1 HELD cluster.db page
508
80002a33 READ 1 HELD cluster.db page
508
80002a34 READ 1 HELD cluster.db page
508
80002a35 READ 1 HELD cluster.db page
508

e READ 1 HELD cluster.db handle
8

800029a0 WRITE 1 HELD cluster.db page
9

9 READ 1 HELD cluster.db handle
6

9 READ 1 HELD cluster.db handle
0
e READ 1 HELD cluster.db handle
0

800029a0 WRITE 4 HELD cluster.db page
632
c READ 1 WAIT cluster.db page
632
800029a1 WRITE 1 WAIT cluster.db page
632
800029a2 WRITE 1 WAIT cluster.db page
632
800029a3 WRITE 1 WAIT cluster.db page
632
800029a4 WRITE 1 WAIT cluster.db page
632
800029a5 WRITE 1 WAIT cluster.db page
632
800029a6 WRITE 1 WAIT cluster.db page
632
800029a7 WRITE 1 WAIT cluster.db page
632
800029a8 WRITE 1 WAIT cluster.db page
632
800029a9 WRITE 1 WAIT cluster.db page
632
800029aa WRITE 1 WAIT cluster.db page
632
800029ab WRITE 1 WAIT cluster.db page
632
800029ac WRITE 1 WAIT cluster.db page
632
800029ad WRITE 1 WAIT cluster.db page
632
800029ae WRITE 1 WAIT cluster.db page
632
800029af WRITE 1 WAIT cluster.db page
632
800029b0 WRITE 1 WAIT cluster.db page
632
800029b1 WRITE 1 WAIT cluster.db page
632
800029b2 WRITE 1 WAIT cluster.db page
632
800029b3 WRITE 1 WAIT cluster.db page
632
800029b4 WRITE 1 WAIT cluster.db page
632
800029b5 WRITE 1 WAIT cluster.db page
632
800029b6 WRITE 1 WAIT cluster.db page
632
800029b7 WRITE 1 WAIT cluster.db page
632
800029b8 WRITE 1 WAIT cluster.db page
632
800029b9 WRITE 1 WAIT cluster.db page
632
800029ba WRITE 1 WAIT cluster.db page
632
800029bb WRITE 1 WAIT cluster.db page
632
800029bc WRITE 1 WAIT cluster.db page
632
800029bd WRITE 1 WAIT cluster.db page
632
800029be WRITE 1 WAIT cluster.db page
632
800029bf WRITE 1 WAIT cluster.db page
632
800029c0 WRITE 1 WAIT cluster.db page
632
800029c1 WRITE 1 WAIT cluster.db page
632
800029c2 WRITE 1 WAIT cluster.db page
632
800029c3 WRITE 1 WAIT cluster.db page
632
800029c4 WRITE 1 WAIT cluster.db page
632
800029c5 WRITE 1 WAIT cluster.db page
632
800029c6 WRITE 1 WAIT cluster.db page
632
800029c7 WRITE 1 WAIT cluster.db page
632
800029c8 WRITE 1 WAIT cluster.db page
632
800029c9 WRITE 1 WAIT cluster.db page
632
800029ca WRITE 1 WAIT cluster.db page
632
800029cb WRITE 1 WAIT cluster.db page
632
800029cc WRITE 1 WAIT cluster.db page
632
800029cd WRITE 1 WAIT cluster.db page
632
800029ce WRITE 1 WAIT cluster.db page
632
800029cf WRITE 1 WAIT cluster.db page
632
800029d0 WRITE 1 WAIT cluster.db page
632
800029d1 WRITE 1 WAIT cluster.db page
632
800029d2 WRITE 1 WAIT cluster.db page
632
800029d3 WRITE 1 WAIT cluster.db page
632
800029d4 WRITE 1 WAIT cluster.db page
632
800029d5 WRITE 1 WAIT cluster.db page
632
800029d6 WRITE 1 WAIT cluster.db page
632
800029d7 WRITE 1 WAIT cluster.db page
632
800029d8 WRITE 1 WAIT cluster.db page
632
800029d9 WRITE 1 WAIT cluster.db page
632
800029da WRITE 1 WAIT cluster.db page
632
800029db WRITE 1 WAIT cluster.db page
632
800029dc WRITE 1 WAIT cluster.db page
632
800029dd WRITE 1 WAIT cluster.db page
632
800029de WRITE 1 WAIT cluster.db page
632
800029df WRITE 1 WAIT cluster.db page
632
800029e0 WRITE 1 WAIT cluster.db page
632
800029e1 WRITE 1 WAIT cluster.db page
632
800029e2 WRITE 1 WAIT cluster.db page
632
800029e3 WRITE 1 WAIT cluster.db page
632
800029e4 WRITE 1 WAIT cluster.db page
632
800029e5 WRITE 1 WAIT cluster.db page
632
800029e6 WRITE 1 WAIT cluster.db page
632
800029e7 WRITE 1 WAIT cluster.db page
632
800029e8 WRITE 1 WAIT cluster.db page
632
800029e9 WRITE 1 WAIT cluster.db page
632
800029ea WRITE 1 WAIT cluster.db page
632
800029eb WRITE 1 WAIT cluster.db page
632
800029ec WRITE 1 WAIT cluster.db page
632
800029ed WRITE 1 WAIT cluster.db page
632
800029ee WRITE 1 WAIT cluster.db page
632
800029ef WRITE 1 WAIT cluster.db page
632
800029f0 WRITE 1 WAIT cluster.db page
632
800029f1 WRITE 1 WAIT cluster.db page
632
800029f2 WRITE 1 WAIT cluster.db page
632
800029f3 WRITE 1 WAIT cluster.db page
632
800029f4 WRITE 1 WAIT cluster.db page
632
800029f5 WRITE 1 WAIT cluster.db page
632
800029f6 WRITE 1 WAIT cluster.db page
632
800029f7 WRITE 1 WAIT cluster.db page
632
800029f8 WRITE 1 WAIT cluster.db page
632
800029f9 WRITE 1 WAIT cluster.db page
632
800029fa WRITE 1 WAIT cluster.db page
632
800029fb WRITE 1 WAIT cluster.db page
632
800029fc WRITE 1 WAIT cluster.db page
632
800029fd WRITE 1 WAIT cluster.db page
632
800029fe WRITE 1 WAIT cluster.db page
632
800029ff WRITE 1 WAIT cluster.db page
632
80002a00 WRITE 1 WAIT cluster.db page
632
80002a01 WRITE 1 WAIT cluster.db page
632
80002a02 WRITE 1 WAIT cluster.db page
632
80002a03 WRITE 1 WAIT cluster.db page
632
80002a04 WRITE 1 WAIT cluster.db page
632
80002a05 WRITE 1 WAIT cluster.db page
632
80002a06 WRITE 1 WAIT cluster.db page
632
80002a07 WRITE 1 WAIT cluster.db page
632
80002a08 WRITE 1 WAIT cluster.db page
632
80002a09 WRITE 1 WAIT cluster.db page
632
80002a0a WRITE 1 WAIT cluster.db page
632
80002a0b WRITE 1 WAIT cluster.db page
632
80002a0c WRITE 1 WAIT cluster.db page
632
80002a0d WRITE 1 WAIT cluster.db page
632
80002a0e WRITE 1 WAIT cluster.db page
632
80002a0f WRITE 1 WAIT cluster.db page
632
80002a10 WRITE 1 WAIT cluster.db page
632
80002a11 WRITE 1 WAIT cluster.db page
632
80002a12 WRITE 1 WAIT cluster.db page
632
80002a13 WRITE 1 WAIT cluster.db page
632
80002a14 WRITE 1 WAIT cluster.db page
632
80002a15 WRITE 1 WAIT cluster.db page
632
80002a16 WRITE 1 WAIT cluster.db page
632
80002a17 WRITE 1 WAIT cluster.db page
632
80002a18 WRITE 1 WAIT cluster.db page
632
80002a19 WRITE 1 WAIT cluster.db page
632
80002a1a WRITE 1 WAIT cluster.db page
632
80002a1b WRITE 1 WAIT cluster.db page
632
80002a1c WRITE 1 WAIT cluster.db page
632
80002a1d WRITE 1 WAIT cluster.db page
632
80002a1e WRITE 1 WAIT cluster.db page
632
80002a1f WRITE 1 WAIT cluster.db page
632
80002a20 WRITE 1 WAIT cluster.db page
632
80002a21 WRITE 1 WAIT cluster.db page
632
80002a22 WRITE 1 WAIT cluster.db page
632
80002a23 WRITE 1 WAIT cluster.db page
632
80002a24 WRITE 1 WAIT cluster.db page
632
80002a25 WRITE 1 WAIT cluster.db page
632
80002a26 WRITE 1 WAIT cluster.db page
632
80002a27 WRITE 1 WAIT cluster.db page
632
80002a28 WRITE 1 WAIT cluster.db page
632
80002a29 WRITE 1 WAIT cluster.db page
632
80002a2a WRITE 1 WAIT cluster.db page
632
80002a2b WRITE 1 WAIT cluster.db page
632
80002a2c WRITE 1 WAIT cluster.db page
632
80002a2d WRITE 1 WAIT cluster.db page
632
80002a2e WRITE 1 WAIT cluster.db page
632
80002a2f WRITE 1 WAIT cluster.db page
632
80002a30 WRITE 1 WAIT cluster.db page
632
80002a31 WRITE 1 WAIT cluster.db page
632
80002a32 WRITE 1 WAIT cluster.db page
632
80002a33 WRITE 1 WAIT cluster.db page
632
80002a34 WRITE 1 WAIT cluster.db page
632
80002a35 WRITE 1 WAIT cluster.db page
632

c READ 2 HELD cluster.db page
629
================================================== ========================

There are certain parts of the output that I don't understand. For
example,

80002a35 READ 1 HELD cluster.db page
508

e READ 1 HELD cluster.db handle
8

Is "e READ ...." related to the line that preceded it and if so how?

Same question for the following:

800029a0 WRITE 1 HELD cluster.db page
9

9 READ 1 HELD cluster.db handle
6

9 READ 1 HELD cluster.db handle
0
e READ 1 HELD cluster.db handle
0

800029a0 WRITE 4 HELD cluster.db page
632
c READ 1 WAIT cluster.db page
632
================================================== ========================

If anyone has a clue about why the deadlock is not being reported I
would appreciate your input. I'm also interested in fully understanding
the lock statistics output.

Platform info:
==============
AMD64 Opteron Processor 248
GNU/Linux kernel-2.6.15
GCC 3.4.4
glibc 2.3.5
BerkeleyDB 4.4.20NC (CFLAGS=" -march=k8 -pipe -O3 -ffast-math
-funroll-all-loops")
Sun JVM 1.5.0_06 64-Bit Server VM


Reply With Quote
  #2  
Old   
Florian Weimer
 
Posts: n/a

Default Re: deadlock not being detected - 01-16-2006 , 07:20 AM






Quote:
Cursor cur = clusterDb.openCursor( null, null );
You must pass the transaction object when creating the cursor. If you
don't do this, Berkeley DB assumes that the cursor lives in a thread
of control on its own, and the wait-for graph lacks a few edges.


Reply With Quote
  #3  
Old   
studdugie@gmail.com
 
Posts: n/a

Default Re: deadlock not being detected - 01-16-2006 , 07:56 PM



I don't think that's it. To test your hypothesis I populated a database
and created forward and reverse cursors in different threads of
control. The forward thread does not explicity specify a Transaction
object but the reverse thread does. Additionally, the reverse threads
acquires write locks while the forward thread acquires read locks.
Eventually they deadlock. At this point I run the db_deadlock util to
break the deadlock. I'm able to select which thread I want to break.
When I break the thread that uses an explicit transaction it throws a
DeadlockException. When I break the thread that didn't use an explicit
transaction it too threw a DeadlockException. This is behavior I
expected. What my original post is about is that in certain cases
DeadlockExceptions aren't being thrown. Unfortunately, I'm unable to
duplicate the cases exactly.


Reply With Quote
  #4  
Old   
Florian Weimer
 
Posts: n/a

Default Re: deadlock not being detected - 01-17-2006 , 02:51 AM



Quote:
I don't think that's it. To test your hypothesis I populated a database
and created forward and reverse cursors in different threads of
control.
This doesn't really test my hypothesis because you used a _different_
threads of control. In the example you posted, there seems to be a
_single_ thread of control which uses two different lockers (the
transaction and the cursor). This is a no-no.


Reply With Quote
  #5  
Old   
studdugie@gmail.com
 
Posts: n/a

Default Re: deadlock not being detected - 01-17-2006 , 08:04 AM



Dane wrote:
To test your hypothesis I populated a database and created forward and
reverse cursors in "different threads of control. "

Here is the code:
Runnable r1 = new Runnable()
{
public void run()
{
String name = Thread.currentThread().getName();
try
{
Cursor cursor = db.openCursor( null, null );
try
{
while( OperationStatus.SUCCESS == cursor.getNext(
nullEntry, nullEntry, null ) )
System.out.println( name );
System.out.println( name.concat( ": fin!" ) );
}
finally
{
cursor.close();
}
}
catch( Exception ee )
{
throw new RuntimeException( ee );
}
}
};

Runnable r2 = new Runnable()
{
public void run()
{
String name = Thread.currentThread().getName();
try
{
Transaction txn = env.beginTransaction( null, null );
Cursor cursor = db.openCursor( txn, null );
try
{
for( OperationStatus opstat = cursor.getLast(
nullEntry, nullEntry, LockMode.RMW );
OperationStatus.SUCCESS == opstat;
opstat = cursor.getPrev( nullEntry, nullEntry,
LockMode.RMW ) )
System.out.println( name );
System.out.println( name.concat( ": fin!" ) );
}
finally
{
cursor.close();
}
txn.commit();
}
catch( Exception ee )
{
throw new RuntimeException( ee );
}
}
};

Thread t1 = new Thread( r1, "ForwardCursor" );
Thread t2 = new Thread( r2, "ReverseCursor" );

t1.start();
t2.start();

while( t1.isAlive() || t2.isAlive() )
{
int x;
do
x = env.detectDeadlocks( LockDetectMode.OLDEST );
while( x > 0 );
Thread.sleep( 100 );
}


Reply With Quote
  #6  
Old   
studdugie@gmail.com
 
Posts: n/a

Default Re: deadlock not being detected - 01-17-2006 , 08:26 AM



Florian, having read and reread your response I don't think I did a
good enough job of explaining what is going on.

Firstly, in the code of the original post I didn't make it clear that
there are multiple threads of control at work. The section labeled
"Point 1&2" represents one or more threads of control that are
completely independent of the section labeled "Point 3". In other
words, if we assume that there are only 2 threads of control then 1
thread is executing a method containing Point 1&2 and a separate
different thread is executing a method containing Point 3.

In my second post, where I am talking about testing your hypothesis, I
wasn't refering to the code of the first post at all. What I was saying
was, I created an entirely new environment in which to test what you
suggested, and it is from this environment that I drew my conclusions.

Given your original assumptions (due to my lack of clarity), you are
absolutely correct that the code would deadlock w/o BerkeleyDB
detecting it. This (as I'm sure you already know) is because it's a
self deadlock and BerkeleyDB cannot detect those.

I apologize for any confusion I may have caused and hopefully we are
now on the same page.

Regards,

Dane


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.