diff --git a/pkg/kv/kvserver/concurrency/lock_table_waiter.go b/pkg/kv/kvserver/concurrency/lock_table_waiter.go index e72897bd559c..2c4ab296e9d9 100644 --- a/pkg/kv/kvserver/concurrency/lock_table_waiter.go +++ b/pkg/kv/kvserver/concurrency/lock_table_waiter.go @@ -230,6 +230,7 @@ func (w *lockTableWaiterImpl) WaitOn( // If the request doesn't want to perform a delayed push for any // reason, continue waiting without a timer. if !(livenessPush || deadlockPush || timeoutPush || priorityPush) { + log.Eventf(ctx, "not pushing") continue } @@ -260,6 +261,11 @@ func (w *lockTableWaiterImpl) WaitOn( delay = 0 } + log.Eventf(ctx, "pushing after %s for: "+ + "liveness detection = %t, deadlock detection = %t, "+ + "timeout enforcement = %t, priority enforcement = %t", + delay, livenessPush, deadlockPush, timeoutPush, priorityPush) + if delay > 0 { if timer == nil { timer = timeutil.NewTimer() diff --git a/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/basic b/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/basic index 88386f5b2af6..8f0cb2071046 100644 --- a/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/basic +++ b/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/basic @@ -117,6 +117,7 @@ sequence req=req3 [2] sequence req3: scanning lock table for conflicting locks [2] sequence req3: waiting in lock wait-queues [2] sequence req3: lock wait-queue event: wait for (distinguished) txn 00000002 holding lock @ key "k" (queuedWriters: 0, queuedReaders: 1) +[2] sequence req3: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [2] sequence req3: pushing timestamp of txn 00000002 above 14.000000000,1 [2] sequence req3: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -204,6 +205,7 @@ sequence req=req5 [2] sequence req5: scanning lock table for conflicting locks [2] sequence req5: waiting in lock wait-queues [2] sequence req5: lock wait-queue event: wait for (distinguished) txn 00000002 holding lock @ key "k" (queuedWriters: 0, queuedReaders: 1) +[2] sequence req5: pushing after 0s for: liveness detection = true, deadlock detection = false, timeout enforcement = false, priority enforcement = false [2] sequence req5: pushing timestamp of txn 00000002 above 14.000000000,1 [2] sequence req5: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -218,6 +220,7 @@ sequence req=req6 [3] sequence req6: scanning lock table for conflicting locks [3] sequence req6: waiting in lock wait-queues [3] sequence req6: lock wait-queue event: wait for txn 00000002 holding lock @ key "k" (queuedWriters: 0, queuedReaders: 2) +[3] sequence req6: not pushing [3] sequence req6: blocked on select in concurrency.(*lockTableWaiterImpl).WaitOn debug-advance-clock ts=123 @@ -261,6 +264,7 @@ finish req=req6 [4] sequence req7: scanning lock table for conflicting locks [4] sequence req7: waiting in lock wait-queues [4] sequence req7: lock wait-queue event: wait for (distinguished) txn 00000002 holding lock @ key "k" (queuedWriters: 1, queuedReaders: 0) +[4] sequence req7: pushing after 0s for: liveness detection = true, deadlock detection = false, timeout enforcement = false, priority enforcement = false [4] sequence req7: pushing txn 00000002 to abort [4] sequence req7: blocked on select in concurrency_test.(*cluster).PushTransaction diff --git a/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/clear_abandoned_intents b/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/clear_abandoned_intents index 66a9a1f24711..bd57ad431e84 100644 --- a/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/clear_abandoned_intents +++ b/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/clear_abandoned_intents @@ -65,6 +65,7 @@ sequence req=req1 [3] sequence req1: scanning lock table for conflicting locks [3] sequence req1: waiting in lock wait-queues [3] sequence req1: lock wait-queue event: wait for (distinguished) txn 00000002 holding lock @ key "a" (queuedWriters: 0, queuedReaders: 1) +[3] sequence req1: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [3] sequence req1: pushing timestamp of txn 00000002 above 10.000000000,1 [3] sequence req1: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -178,6 +179,7 @@ sequence req=req1 [3] sequence req1: scanning lock table for conflicting locks [3] sequence req1: waiting in lock wait-queues [3] sequence req1: lock wait-queue event: wait for (distinguished) txn 00000002 holding lock @ key "a" (queuedWriters: 1, queuedReaders: 0) +[3] sequence req1: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [3] sequence req1: pushing txn 00000002 to abort [3] sequence req1: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -354,6 +356,7 @@ sequence req=req1 [4] sequence req1: scanning lock table for conflicting locks [4] sequence req1: waiting in lock wait-queues [4] sequence req1: lock wait-queue event: wait for (distinguished) txn 00000002 holding lock @ key "a" (queuedWriters: 0, queuedReaders: 1) +[4] sequence req1: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [4] sequence req1: pushing timestamp of txn 00000002 above 10.000000000,1 [4] sequence req1: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -471,6 +474,7 @@ sequence req=req1 [3] sequence req1: scanning lock table for conflicting locks [3] sequence req1: waiting in lock wait-queues [3] sequence req1: lock wait-queue event: wait for (distinguished) txn 00000003 holding lock @ key "c" (queuedWriters: 1, queuedReaders: 0) +[3] sequence req1: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [3] sequence req1: pushing txn 00000003 to abort [3] sequence req1: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -564,6 +568,7 @@ sequence req=req2 [6] sequence req2: scanning lock table for conflicting locks [6] sequence req2: waiting in lock wait-queues [6] sequence req2: lock wait-queue event: wait for (distinguished) txn 00000003 holding lock @ key "a" (queuedWriters: 0, queuedReaders: 1) +[6] sequence req2: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [6] sequence req2: pushing timestamp of txn 00000003 above 11.000000000,1 [6] sequence req2: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -603,11 +608,13 @@ on-txn-updated txn=txn3 status=aborted [3] sequence req1: resolving intent "c" for txn 00000003 with ABORTED status [3] sequence req1: lock wait-queue event: wait for (distinguished) txn 00000005 holding lock @ key "e" (queuedWriters: 1, queuedReaders: 0) [3] sequence req1: conflicted with 00000003-0000-0000-0000-000000000000 on "c" for 123.000s +[3] sequence req1: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [3] sequence req1: pushing txn 00000005 to abort [3] sequence req1: blocked on select in concurrency_test.(*cluster).PushTransaction [6] sequence req2: resolving intent "a" for txn 00000003 with ABORTED status [6] sequence req2: lock wait-queue event: wait for (distinguished) txn 00000004 holding lock @ key "b" (queuedWriters: 0, queuedReaders: 1) [6] sequence req2: conflicted with 00000003-0000-0000-0000-000000000000 on "a" for 123.000s +[6] sequence req2: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [6] sequence req2: pushing timestamp of txn 00000004 above 11.000000000,1 [6] sequence req2: blocked on select in concurrency_test.(*cluster).PushTransaction diff --git a/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/clear_abandoned_intents_without_adding_to_lock_table b/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/clear_abandoned_intents_without_adding_to_lock_table index 68f89abf6c4d..e04f178c340f 100644 --- a/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/clear_abandoned_intents_without_adding_to_lock_table +++ b/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/clear_abandoned_intents_without_adding_to_lock_table @@ -44,6 +44,7 @@ sequence req=req1 [3] sequence req1: scanning lock table for conflicting locks [3] sequence req1: waiting in lock wait-queues [3] sequence req1: lock wait-queue event: wait for (distinguished) txn 00000002 holding lock @ key "a" (queuedWriters: 0, queuedReaders: 1) +[3] sequence req1: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [3] sequence req1: pushing timestamp of txn 00000002 above 10.000000000,1 [3] sequence req1: blocked on select in concurrency_test.(*cluster).PushTransaction diff --git a/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/deadlocks b/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/deadlocks index 7e146f3e5bc6..3c0a649d12ac 100644 --- a/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/deadlocks +++ b/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/deadlocks @@ -113,6 +113,7 @@ sequence req=req1r [4] sequence req1r: scanning lock table for conflicting locks [4] sequence req1r: waiting in lock wait-queues [4] sequence req1r: lock wait-queue event: wait for (distinguished) txn 00000002 holding lock @ key "b" (queuedWriters: 0, queuedReaders: 1) +[4] sequence req1r: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [4] sequence req1r: pushing timestamp of txn 00000002 above 10.000000000,1 [4] sequence req1r: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -123,6 +124,7 @@ sequence req=req2r [5] sequence req2r: scanning lock table for conflicting locks [5] sequence req2r: waiting in lock wait-queues [5] sequence req2r: lock wait-queue event: wait for (distinguished) txn 00000003 holding lock @ key "c" (queuedWriters: 0, queuedReaders: 1) +[5] sequence req2r: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [5] sequence req2r: pushing timestamp of txn 00000003 above 10.000000000,1 [5] sequence req2r: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -135,6 +137,7 @@ sequence req=req3r [6] sequence req3r: scanning lock table for conflicting locks [6] sequence req3r: waiting in lock wait-queues [6] sequence req3r: lock wait-queue event: wait for (distinguished) txn 00000001 holding lock @ key "a" (queuedWriters: 0, queuedReaders: 1) +[6] sequence req3r: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [6] sequence req3r: pushing timestamp of txn 00000001 above 10.000000000,1 [6] sequence req3r: blocked on select in concurrency_test.(*cluster).PushTransaction [6] sequence req3r: dependency cycle detected 00000003->00000001->00000002->00000003 @@ -326,6 +329,7 @@ sequence req=req4w [4] sequence req4w: scanning lock table for conflicting locks [4] sequence req4w: waiting in lock wait-queues [4] sequence req4w: lock wait-queue event: wait for (distinguished) txn 00000001 holding lock @ key "a" (queuedWriters: 1, queuedReaders: 0) +[4] sequence req4w: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [4] sequence req4w: pushing txn 00000001 to abort [4] sequence req4w: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -336,6 +340,7 @@ sequence req=req1w2 [5] sequence req1w2: scanning lock table for conflicting locks [5] sequence req1w2: waiting in lock wait-queues [5] sequence req1w2: lock wait-queue event: wait for (distinguished) txn 00000002 holding lock @ key "b" (queuedWriters: 1, queuedReaders: 0) +[5] sequence req1w2: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [5] sequence req1w2: pushing txn 00000002 to abort [5] sequence req1w2: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -346,6 +351,7 @@ sequence req=req2w2 [6] sequence req2w2: scanning lock table for conflicting locks [6] sequence req2w2: waiting in lock wait-queues [6] sequence req2w2: lock wait-queue event: wait for (distinguished) txn 00000003 holding lock @ key "c" (queuedWriters: 1, queuedReaders: 0) +[6] sequence req2w2: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [6] sequence req2w2: pushing txn 00000003 to abort [6] sequence req2w2: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -358,6 +364,7 @@ sequence req=req3w2 [7] sequence req3w2: scanning lock table for conflicting locks [7] sequence req3w2: waiting in lock wait-queues [7] sequence req3w2: lock wait-queue event: wait for txn 00000001 holding lock @ key "a" (queuedWriters: 2, queuedReaders: 0) +[7] sequence req3w2: pushing after 0s for: liveness detection = false, deadlock detection = true, timeout enforcement = false, priority enforcement = false [7] sequence req3w2: pushing txn 00000001 to abort [7] sequence req3w2: blocked on select in concurrency_test.(*cluster).PushTransaction [7] sequence req3w2: dependency cycle detected 00000003->00000001->00000002->00000003 @@ -399,6 +406,7 @@ on-txn-updated txn=txn1 status=aborted [7] sequence req3w2: resolving intent "a" for txn 00000001 with ABORTED status [7] sequence req3w2: lock wait-queue event: wait for (distinguished) txn 00000004 running request @ key "a" (queuedWriters: 1, queuedReaders: 0) [7] sequence req3w2: conflicted with 00000001-0000-0000-0000-000000000000 on "a" for 0.000s +[7] sequence req3w2: pushing after 0s for: liveness detection = false, deadlock detection = true, timeout enforcement = false, priority enforcement = false [7] sequence req3w2: pushing txn 00000004 to detect request deadlock [7] sequence req3w2: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -552,6 +560,7 @@ sequence req=req4w [4] sequence req4w: scanning lock table for conflicting locks [4] sequence req4w: waiting in lock wait-queues [4] sequence req4w: lock wait-queue event: wait for (distinguished) txn 00000002 holding lock @ key "b" (queuedWriters: 1, queuedReaders: 0) +[4] sequence req4w: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [4] sequence req4w: pushing txn 00000002 to abort [4] sequence req4w: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -561,6 +570,7 @@ on-txn-updated txn=txn2 status=committed [4] sequence req4w: resolving intent "b" for txn 00000002 with COMMITTED status [4] sequence req4w: lock wait-queue event: wait for (distinguished) txn 00000003 holding lock @ key "c" (queuedWriters: 1, queuedReaders: 0) [4] sequence req4w: conflicted with 00000002-0000-0000-0000-000000000000 on "b" for 0.000s +[4] sequence req4w: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [4] sequence req4w: pushing txn 00000003 to abort [4] sequence req4w: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -597,6 +607,7 @@ sequence req=req1w2 [5] sequence req1w2: scanning lock table for conflicting locks [5] sequence req1w2: waiting in lock wait-queues [5] sequence req1w2: lock wait-queue event: wait for (distinguished) txn 00000004 running request @ key "b" (queuedWriters: 1, queuedReaders: 0) +[5] sequence req1w2: pushing after 0s for: liveness detection = false, deadlock detection = true, timeout enforcement = false, priority enforcement = false [5] sequence req1w2: pushing txn 00000004 to detect request deadlock [5] sequence req1w2: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -609,6 +620,7 @@ sequence req=req3w2 [6] sequence req3w2: scanning lock table for conflicting locks [6] sequence req3w2: waiting in lock wait-queues [6] sequence req3w2: lock wait-queue event: wait for (distinguished) txn 00000001 holding lock @ key "a" (queuedWriters: 1, queuedReaders: 0) +[6] sequence req3w2: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [6] sequence req3w2: pushing txn 00000001 to abort [6] sequence req3w2: blocked on select in concurrency_test.(*cluster).PushTransaction [6] sequence req3w2: dependency cycle detected 00000003->00000001->00000004->00000003 @@ -786,6 +798,7 @@ sequence req=req4w [4] sequence req4w: scanning lock table for conflicting locks [4] sequence req4w: waiting in lock wait-queues [4] sequence req4w: lock wait-queue event: wait for (distinguished) txn 00000002 holding lock @ key "b" (queuedWriters: 1, queuedReaders: 0) +[4] sequence req4w: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [4] sequence req4w: pushing txn 00000002 to abort [4] sequence req4w: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -795,6 +808,7 @@ on-txn-updated txn=txn2 status=committed [4] sequence req4w: resolving intent "b" for txn 00000002 with COMMITTED status [4] sequence req4w: lock wait-queue event: wait for (distinguished) txn 00000003 holding lock @ key "c" (queuedWriters: 1, queuedReaders: 0) [4] sequence req4w: conflicted with 00000002-0000-0000-0000-000000000000 on "b" for 0.000s +[4] sequence req4w: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [4] sequence req4w: pushing txn 00000003 to abort [4] sequence req4w: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -831,6 +845,7 @@ sequence req=req1w2 [5] sequence req1w2: scanning lock table for conflicting locks [5] sequence req1w2: waiting in lock wait-queues [5] sequence req1w2: lock wait-queue event: wait for (distinguished) txn 00000004 running request @ key "b" (queuedWriters: 1, queuedReaders: 0) +[5] sequence req1w2: pushing after 0s for: liveness detection = false, deadlock detection = true, timeout enforcement = false, priority enforcement = false [5] sequence req1w2: pushing txn 00000004 to detect request deadlock [5] sequence req1w2: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -843,6 +858,7 @@ sequence req=req3w2 [6] sequence req3w2: scanning lock table for conflicting locks [6] sequence req3w2: waiting in lock wait-queues [6] sequence req3w2: lock wait-queue event: wait for (distinguished) txn 00000001 holding lock @ key "a" (queuedWriters: 1, queuedReaders: 0) +[6] sequence req3w2: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [6] sequence req3w2: pushing txn 00000001 to abort [6] sequence req3w2: blocked on select in concurrency_test.(*cluster).PushTransaction [6] sequence req3w2: dependency cycle detected 00000003->00000001->00000004->00000003 @@ -1032,6 +1048,7 @@ sequence req=req5w [4] sequence req5w: scanning lock table for conflicting locks [4] sequence req5w: waiting in lock wait-queues [4] sequence req5w: lock wait-queue event: wait for (distinguished) txn 00000002 holding lock @ key "b" (queuedWriters: 1, queuedReaders: 0) +[4] sequence req5w: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [4] sequence req5w: pushing txn 00000002 to abort [4] sequence req5w: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -1042,6 +1059,7 @@ sequence req=req4w [5] sequence req4w: scanning lock table for conflicting locks [5] sequence req4w: waiting in lock wait-queues [5] sequence req4w: lock wait-queue event: wait for (distinguished) txn 00000001 holding lock @ key "a" (queuedWriters: 1, queuedReaders: 0) +[5] sequence req4w: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [5] sequence req4w: pushing txn 00000001 to abort [5] sequence req4w: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -1051,6 +1069,7 @@ on-txn-updated txn=txn1 status=committed [5] sequence req4w: resolving intent "a" for txn 00000001 with COMMITTED status [5] sequence req4w: lock wait-queue event: wait for txn 00000002 holding lock @ key "b" (queuedWriters: 2, queuedReaders: 0) [5] sequence req4w: conflicted with 00000001-0000-0000-0000-000000000000 on "a" for 0.000s +[5] sequence req4w: pushing after 0s for: liveness detection = false, deadlock detection = true, timeout enforcement = false, priority enforcement = false [5] sequence req4w: pushing txn 00000002 to abort [5] sequence req4w: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -1060,11 +1079,13 @@ on-txn-updated txn=txn2 status=committed [4] sequence req5w: resolving intent "b" for txn 00000002 with COMMITTED status [4] sequence req5w: lock wait-queue event: wait for (distinguished) txn 00000003 holding lock @ key "c" (queuedWriters: 1, queuedReaders: 0) [4] sequence req5w: conflicted with 00000002-0000-0000-0000-000000000000 on "b" for 0.000s +[4] sequence req5w: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [4] sequence req5w: pushing txn 00000003 to abort [4] sequence req5w: blocked on select in concurrency_test.(*cluster).PushTransaction [5] sequence req4w: resolving intent "b" for txn 00000002 with COMMITTED status [5] sequence req4w: lock wait-queue event: wait for (distinguished) txn 00000005 running request @ key "b" (queuedWriters: 1, queuedReaders: 0) [5] sequence req4w: conflicted with 00000002-0000-0000-0000-000000000000 on "b" for 0.000s +[5] sequence req4w: pushing after 0s for: liveness detection = false, deadlock detection = true, timeout enforcement = false, priority enforcement = false [5] sequence req4w: pushing txn 00000005 to detect request deadlock [5] sequence req4w: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -1102,6 +1123,7 @@ sequence req=req3w2 [6] sequence req3w2: scanning lock table for conflicting locks [6] sequence req3w2: waiting in lock wait-queues [6] sequence req3w2: lock wait-queue event: wait for (distinguished) txn 00000004 running request @ key "a" (queuedWriters: 1, queuedReaders: 0) +[6] sequence req3w2: pushing after 0s for: liveness detection = false, deadlock detection = true, timeout enforcement = false, priority enforcement = false [6] sequence req3w2: pushing txn 00000004 to detect request deadlock [6] sequence req3w2: blocked on select in concurrency_test.(*cluster).PushTransaction [6] sequence req3w2: dependency cycle detected 00000003->00000004->00000005->00000003 diff --git a/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/discover_lock_after_lease_race b/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/discover_lock_after_lease_race index 6e4aa250c7c7..759ff68bde33 100644 --- a/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/discover_lock_after_lease_race +++ b/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/discover_lock_after_lease_race @@ -150,6 +150,7 @@ sequence req=req4 [5] sequence req4: scanning lock table for conflicting locks [5] sequence req4: waiting in lock wait-queues [5] sequence req4: lock wait-queue event: wait for (distinguished) txn 00000003 holding lock @ key "k" (queuedWriters: 0, queuedReaders: 1) +[5] sequence req4: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [5] sequence req4: pushing timestamp of txn 00000003 above 10.000000000,0 [5] sequence req4: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -176,6 +177,7 @@ sequence req=req2 [7] sequence req2: scanning lock table for conflicting locks [7] sequence req2: waiting in lock wait-queues [7] sequence req2: lock wait-queue event: wait for txn 00000003 holding lock @ key "k" (queuedWriters: 0, queuedReaders: 2) +[7] sequence req2: pushing after 0s for: liveness detection = false, deadlock detection = true, timeout enforcement = false, priority enforcement = false [7] sequence req2: pushing timestamp of txn 00000003 above 10.000000000,0 [7] sequence req2: blocked on select in concurrency_test.(*cluster).PushTransaction diff --git a/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/discovered_lock b/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/discovered_lock index 0028b54224fd..b2651e3a0c85 100644 --- a/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/discovered_lock +++ b/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/discovered_lock @@ -39,6 +39,7 @@ sequence req=req1 [3] sequence req1: scanning lock table for conflicting locks [3] sequence req1: waiting in lock wait-queues [3] sequence req1: lock wait-queue event: wait for (distinguished) txn 00000001 holding lock @ key "k" (queuedWriters: 0, queuedReaders: 1) +[3] sequence req1: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [3] sequence req1: pushing timestamp of txn 00000001 above 12.000000000,1 [3] sequence req1: blocked on select in concurrency_test.(*cluster).PushTransaction diff --git a/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/lock_timeout b/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/lock_timeout index 0021c3d0365f..e3aad4fe7299 100644 --- a/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/lock_timeout +++ b/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/lock_timeout @@ -71,6 +71,7 @@ sequence req=req3 [3] sequence req3: scanning lock table for conflicting locks [3] sequence req3: waiting in lock wait-queues [3] sequence req3: lock wait-queue event: wait for (distinguished) txn 00000001 holding lock @ key "k2" (queuedWriters: 1, queuedReaders: 0) +[3] sequence req3: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [3] sequence req3: pushing txn 00000001 to abort [3] sequence req3: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -104,6 +105,7 @@ sequence req=reqTimeout1 [4] sequence reqTimeout1: scanning lock table for conflicting locks [4] sequence reqTimeout1: waiting in lock wait-queues [4] sequence reqTimeout1: lock wait-queue event: wait for (distinguished) txn 00000001 holding lock @ key "k" (queuedWriters: 0, queuedReaders: 1) +[4] sequence reqTimeout1: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = true, priority enforcement = false [4] sequence reqTimeout1: pushing txn 00000001 to check if abandoned [4] sequence reqTimeout1: pushee not abandoned [4] sequence reqTimeout1: conflicted with 00000001-0000-0000-0000-000000000000 on "k" for 0.000s @@ -120,6 +122,7 @@ on-txn-updated txn=txn1 status=committed [3] sequence req3: resolving intent "k2" for txn 00000001 with COMMITTED status [3] sequence req3: lock wait-queue event: wait for (distinguished) txn 00000002 holding lock @ key "k3" (queuedWriters: 1, queuedReaders: 0) [3] sequence req3: conflicted with 00000001-0000-0000-0000-000000000000 on "k2" for 0.000s +[3] sequence req3: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [3] sequence req3: pushing txn 00000002 to abort [3] sequence req3: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -163,6 +166,7 @@ sequence req=reqTimeout2 [6] sequence reqTimeout2: scanning lock table for conflicting locks [6] sequence reqTimeout2: waiting in lock wait-queues [6] sequence reqTimeout2: lock wait-queue event: wait for (distinguished) txn 00000003 running request @ key "k2" (queuedWriters: 1, queuedReaders: 0) +[6] sequence reqTimeout2: pushing after 0s for: liveness detection = false, deadlock detection = true, timeout enforcement = true, priority enforcement = false [6] sequence reqTimeout2: conflicted with 00000003-0000-0000-0000-000000000000 on "k2" for 0.000s [6] sequence reqTimeout2: sequencing complete, returned error: conflicting intents on "k2" [reason=lock_timeout] @@ -194,6 +198,7 @@ sequence req=reqTimeout3 [9] sequence reqTimeout3: scanning lock table for conflicting locks [9] sequence reqTimeout3: waiting in lock wait-queues [9] sequence reqTimeout3: lock wait-queue event: wait for (distinguished) txn 00000002 holding lock @ key "k4" (queuedWriters: 0, queuedReaders: 1) +[9] sequence reqTimeout3: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = true, priority enforcement = false [9] sequence reqTimeout3: pushing txn 00000002 to check if abandoned [9] sequence reqTimeout3: pushee not abandoned [9] sequence reqTimeout3: conflicted with 00000002-0000-0000-0000-000000000000 on "k4" for 0.000s diff --git a/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/optimistic b/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/optimistic index 93f49f153e8f..f9e399c75752 100644 --- a/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/optimistic +++ b/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/optimistic @@ -93,6 +93,7 @@ sequence req=req3 eval-kind=pess-after-opt [4] sequence req3: scanning lock table for conflicting locks [4] sequence req3: waiting in lock wait-queues [4] sequence req3: lock wait-queue event: wait for (distinguished) txn 00000001 holding lock @ key "d" (queuedWriters: 0, queuedReaders: 1) +[4] sequence req3: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [4] sequence req3: pushing timestamp of txn 00000001 above 12.000000000,1 [4] sequence req3: blocked on select in concurrency_test.(*cluster).PushTransaction diff --git a/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/priority b/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/priority index d15288317477..f9da4e710abb 100644 --- a/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/priority +++ b/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/priority @@ -139,6 +139,7 @@ sequence req=req4 [4] sequence req4: scanning lock table for conflicting locks [4] sequence req4: waiting in lock wait-queues [4] sequence req4: lock wait-queue event: wait for (distinguished) txn 00000001 holding lock @ key "kLow1" (queuedWriters: 0, queuedReaders: 1) +[4] sequence req4: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [4] sequence req4: pushing timestamp of txn 00000001 above 10.000000000,1 [4] sequence req4: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -155,6 +156,7 @@ sequence req=req5 [5] sequence req5: scanning lock table for conflicting locks [5] sequence req5: waiting in lock wait-queues [5] sequence req5: lock wait-queue event: wait for txn 00000001 holding lock @ key "kLow1" (queuedWriters: 0, queuedReaders: 2) +[5] sequence req5: pushing after 0s for: liveness detection = false, deadlock detection = true, timeout enforcement = false, priority enforcement = true [5] sequence req5: pushing timestamp of txn 00000001 above 10.000000000,1 [5] sequence req5: pusher pushed pushee to 10.000000000,2 [5] sequence req5: resolving intent "kLow1" for txn 00000001 with PENDING status and clock observation {1 123.000000000,3} @@ -210,6 +212,7 @@ sequence req=req6 [6] sequence req6: scanning lock table for conflicting locks [6] sequence req6: waiting in lock wait-queues [6] sequence req6: lock wait-queue event: wait for (distinguished) txn 00000001 holding lock @ key "kLow2" (queuedWriters: 1, queuedReaders: 0) +[6] sequence req6: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [6] sequence req6: pushing txn 00000001 to abort [6] sequence req6: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -226,11 +229,13 @@ sequence req=req7 [7] sequence req7: scanning lock table for conflicting locks [7] sequence req7: waiting in lock wait-queues [7] sequence req7: lock wait-queue event: wait for txn 00000001 holding lock @ key "kLow2" (queuedWriters: 2, queuedReaders: 0) +[7] sequence req7: pushing after 0s for: liveness detection = false, deadlock detection = false, timeout enforcement = false, priority enforcement = true [7] sequence req7: pushing txn 00000001 to abort [7] sequence req7: pusher aborted pushee [7] sequence req7: resolving intent "kLow2" for txn 00000001 with ABORTED status [7] sequence req7: lock wait-queue event: wait for (distinguished) txn 00000004 running request @ key "kLow2" (queuedWriters: 1, queuedReaders: 0) [7] sequence req7: conflicted with 00000001-0000-0000-0000-000000000000 on "kLow2" for 0.000s +[7] sequence req7: pushing after 0s for: liveness detection = false, deadlock detection = false, timeout enforcement = false, priority enforcement = true [7] sequence req7: pushing txn 00000004 to detect request deadlock [7] sequence req7: pusher aborted pushee [7] sequence req7: blocked on select in concurrency.(*lockTableWaiterImpl).WaitOn @@ -284,6 +289,7 @@ sequence req=req8 [8] sequence req8: scanning lock table for conflicting locks [8] sequence req8: waiting in lock wait-queues [8] sequence req8: lock wait-queue event: wait for (distinguished) txn 00000002 holding lock @ key "kNormal1" (queuedWriters: 0, queuedReaders: 1) +[8] sequence req8: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [8] sequence req8: pushing timestamp of txn 00000002 above 10.000000000,1 [8] sequence req8: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -300,6 +306,7 @@ sequence req=req9 [9] sequence req9: scanning lock table for conflicting locks [9] sequence req9: waiting in lock wait-queues [9] sequence req9: lock wait-queue event: wait for txn 00000002 holding lock @ key "kNormal1" (queuedWriters: 0, queuedReaders: 2) +[9] sequence req9: pushing after 0s for: liveness detection = false, deadlock detection = true, timeout enforcement = false, priority enforcement = true [9] sequence req9: pushing timestamp of txn 00000002 above 10.000000000,1 [9] sequence req9: pusher pushed pushee to 10.000000000,2 [9] sequence req9: resolving intent "kNormal1" for txn 00000002 with PENDING status and clock observation {1 123.000000000,8} @@ -353,6 +360,7 @@ sequence req=req10 [10] sequence req10: scanning lock table for conflicting locks [10] sequence req10: waiting in lock wait-queues [10] sequence req10: lock wait-queue event: wait for (distinguished) txn 00000002 holding lock @ key "kNormal2" (queuedWriters: 1, queuedReaders: 0) +[10] sequence req10: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [10] sequence req10: pushing txn 00000002 to abort [10] sequence req10: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -369,11 +377,13 @@ sequence req=req11 [11] sequence req11: scanning lock table for conflicting locks [11] sequence req11: waiting in lock wait-queues [11] sequence req11: lock wait-queue event: wait for txn 00000002 holding lock @ key "kNormal2" (queuedWriters: 2, queuedReaders: 0) +[11] sequence req11: pushing after 0s for: liveness detection = false, deadlock detection = false, timeout enforcement = false, priority enforcement = true [11] sequence req11: pushing txn 00000002 to abort [11] sequence req11: pusher aborted pushee [11] sequence req11: resolving intent "kNormal2" for txn 00000002 with ABORTED status [11] sequence req11: lock wait-queue event: wait for (distinguished) txn 00000007 running request @ key "kNormal2" (queuedWriters: 1, queuedReaders: 0) [11] sequence req11: conflicted with 00000002-0000-0000-0000-000000000000 on "kNormal2" for 0.000s +[11] sequence req11: pushing after 0s for: liveness detection = false, deadlock detection = false, timeout enforcement = false, priority enforcement = true [11] sequence req11: pushing txn 00000007 to detect request deadlock [11] sequence req11: pusher aborted pushee [11] sequence req11: blocked on select in concurrency.(*lockTableWaiterImpl).WaitOn @@ -425,6 +435,7 @@ sequence req=req12 [12] sequence req12: scanning lock table for conflicting locks [12] sequence req12: waiting in lock wait-queues [12] sequence req12: lock wait-queue event: wait for (distinguished) txn 00000003 holding lock @ key "kHigh1" (queuedWriters: 0, queuedReaders: 1) +[12] sequence req12: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [12] sequence req12: pushing timestamp of txn 00000003 above 10.000000000,1 [12] sequence req12: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -435,6 +446,7 @@ sequence req=req13 [13] sequence req13: scanning lock table for conflicting locks [13] sequence req13: waiting in lock wait-queues [13] sequence req13: lock wait-queue event: wait for txn 00000003 holding lock @ key "kHigh1" (queuedWriters: 0, queuedReaders: 2) +[13] sequence req13: pushing after 0s for: liveness detection = false, deadlock detection = true, timeout enforcement = false, priority enforcement = false [13] sequence req13: pushing timestamp of txn 00000003 above 10.000000000,1 [13] sequence req13: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -496,6 +508,7 @@ sequence req=req14 [14] sequence req14: scanning lock table for conflicting locks [14] sequence req14: waiting in lock wait-queues [14] sequence req14: lock wait-queue event: wait for (distinguished) txn 00000003 holding lock @ key "kHigh2" (queuedWriters: 1, queuedReaders: 0) +[14] sequence req14: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [14] sequence req14: pushing txn 00000003 to abort [14] sequence req14: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -506,6 +519,7 @@ sequence req=req15 [15] sequence req15: scanning lock table for conflicting locks [15] sequence req15: waiting in lock wait-queues [15] sequence req15: lock wait-queue event: wait for txn 00000003 holding lock @ key "kHigh2" (queuedWriters: 2, queuedReaders: 0) +[15] sequence req15: not pushing [15] sequence req15: blocked on select in concurrency.(*lockTableWaiterImpl).WaitOn on-txn-updated txn=txnHighPushee status=committed @@ -519,6 +533,7 @@ on-txn-updated txn=txnHighPushee status=committed [14] sequence req14: sequencing complete, returned guard [15] sequence req15: lock wait-queue event: wait for (distinguished) txn 00000008 running request @ key "kHigh2" (queuedWriters: 1, queuedReaders: 0) [15] sequence req15: conflicted with 00000003-0000-0000-0000-000000000000 on "kHigh2" for 0.000s +[15] sequence req15: pushing after 0s for: liveness detection = false, deadlock detection = false, timeout enforcement = false, priority enforcement = true [15] sequence req15: pushing txn 00000008 to detect request deadlock [15] sequence req15: pusher aborted pushee [15] sequence req15: blocked on select in concurrency.(*lockTableWaiterImpl).WaitOn diff --git a/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/queue_length_exceeded b/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/queue_length_exceeded index f447e77b65f6..c2327627d355 100644 --- a/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/queue_length_exceeded +++ b/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/queue_length_exceeded @@ -51,6 +51,7 @@ sequence req=req2 [2] sequence req2: scanning lock table for conflicting locks [2] sequence req2: waiting in lock wait-queues [2] sequence req2: lock wait-queue event: wait for (distinguished) txn 00000001 holding lock @ key "k" (queuedWriters: 1, queuedReaders: 0) +[2] sequence req2: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [2] sequence req2: pushing txn 00000001 to abort [2] sequence req2: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -65,6 +66,7 @@ sequence req=req3 [3] sequence req3: scanning lock table for conflicting locks [3] sequence req3: waiting in lock wait-queues [3] sequence req3: lock wait-queue event: wait for txn 00000001 holding lock @ key "k" (queuedWriters: 2, queuedReaders: 0) +[3] sequence req3: pushing after 0s for: liveness detection = false, deadlock detection = true, timeout enforcement = false, priority enforcement = false [3] sequence req3: pushing txn 00000001 to abort [3] sequence req3: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -79,6 +81,7 @@ sequence req=req4 [4] sequence req4: scanning lock table for conflicting locks [4] sequence req4: waiting in lock wait-queues [4] sequence req4: lock wait-queue event: wait for txn 00000001 holding lock @ key "k" (queuedWriters: 3, queuedReaders: 0) +[4] sequence req4: pushing after 0s for: liveness detection = false, deadlock detection = true, timeout enforcement = false, priority enforcement = false [4] sequence req4: pushing txn 00000001 to abort [4] sequence req4: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -111,6 +114,7 @@ sequence req=req5r [5] sequence req5r: scanning lock table for conflicting locks [5] sequence req5r: waiting in lock wait-queues [5] sequence req5r: lock wait-queue event: wait for txn 00000001 holding lock @ key "k" (queuedWriters: 3, queuedReaders: 1) +[5] sequence req5r: pushing after 0s for: liveness detection = false, deadlock detection = true, timeout enforcement = false, priority enforcement = false [5] sequence req5r: pushing timestamp of txn 00000001 above 10.000000000,1 [5] sequence req5r: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -126,11 +130,13 @@ on-txn-updated txn=txn1 status=committed [3] sequence req3: resolving intent "k" for txn 00000001 with COMMITTED status [3] sequence req3: lock wait-queue event: wait for (distinguished) txn 00000002 running request @ key "k" (queuedWriters: 2, queuedReaders: 0) [3] sequence req3: conflicted with 00000001-0000-0000-0000-000000000000 on "k" for 0.000s +[3] sequence req3: pushing after 0s for: liveness detection = false, deadlock detection = true, timeout enforcement = false, priority enforcement = false [3] sequence req3: pushing txn 00000002 to detect request deadlock [3] sequence req3: blocked on select in concurrency_test.(*cluster).PushTransaction [4] sequence req4: resolving intent "k" for txn 00000001 with COMMITTED status [4] sequence req4: lock wait-queue event: wait for txn 00000002 running request @ key "k" (queuedWriters: 2, queuedReaders: 0) [4] sequence req4: conflicted with 00000001-0000-0000-0000-000000000000 on "k" for 0.000s +[4] sequence req4: pushing after 0s for: liveness detection = false, deadlock detection = true, timeout enforcement = false, priority enforcement = false [4] sequence req4: pushing txn 00000002 to detect request deadlock [4] sequence req4: blocked on select in concurrency_test.(*cluster).PushTransaction [5] sequence req5r: resolving intent "k" for txn 00000001 with COMMITTED status @@ -148,9 +154,11 @@ on-lock-acquired req=req2 key=k ---- [-] acquire lock: txn 00000002 @ k [3] sequence req3: lock wait-queue event: wait for (distinguished) txn 00000002 holding lock @ key "k" (queuedWriters: 2, queuedReaders: 0) +[3] sequence req3: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [3] sequence req3: pushing txn 00000002 to abort [3] sequence req3: blocked on select in concurrency_test.(*cluster).PushTransaction [4] sequence req4: lock wait-queue event: wait for txn 00000002 holding lock @ key "k" (queuedWriters: 2, queuedReaders: 0) +[4] sequence req4: pushing after 0s for: liveness detection = false, deadlock detection = true, timeout enforcement = false, priority enforcement = false [4] sequence req4: pushing txn 00000002 to abort [4] sequence req4: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -203,6 +211,7 @@ on-txn-updated txn=txn2 status=aborted [4] sequence req4: resolving intent "k" for txn 00000002 with ABORTED status [4] sequence req4: lock wait-queue event: wait for (distinguished) txn 00000003 running request @ key "k" (queuedWriters: 1, queuedReaders: 0) [4] sequence req4: conflicted with 00000002-0000-0000-0000-000000000000 on "k" for 0.000s +[4] sequence req4: pushing after 0s for: liveness detection = false, deadlock detection = true, timeout enforcement = false, priority enforcement = false [4] sequence req4: pushing txn 00000003 to detect request deadlock [4] sequence req4: blocked on select in concurrency_test.(*cluster).PushTransaction diff --git a/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/range_state_listener b/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/range_state_listener index a19b8332d311..96b5c94f8fd5 100644 --- a/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/range_state_listener +++ b/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/range_state_listener @@ -95,6 +95,7 @@ sequence req=req2 [2] sequence req2: scanning lock table for conflicting locks [2] sequence req2: waiting in lock wait-queues [2] sequence req2: lock wait-queue event: wait for (distinguished) txn 00000001 holding lock @ key "k" (queuedWriters: 1, queuedReaders: 0) +[2] sequence req2: pushing after 1h0m0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [2] sequence req2: blocked on select in concurrency.(*lockTableWaiterImpl).WaitOn debug-lock-table @@ -179,6 +180,7 @@ sequence req=req2 [7] sequence req2: scanning lock table for conflicting locks [7] sequence req2: waiting in lock wait-queues [7] sequence req2: lock wait-queue event: wait for (distinguished) txn 00000001 holding lock @ key "k" (queuedWriters: 1, queuedReaders: 0) +[7] sequence req2: pushing after 1h0m0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [7] sequence req2: blocked on select in concurrency.(*lockTableWaiterImpl).WaitOn new-request name=reqRes1 txn=none ts=10,1 @@ -297,6 +299,7 @@ sequence req=req3 [13] sequence req3: scanning lock table for conflicting locks [13] sequence req3: waiting in lock wait-queues [13] sequence req3: lock wait-queue event: wait for (distinguished) txn 00000002 holding lock @ key "k" (queuedWriters: 1, queuedReaders: 0) +[13] sequence req3: pushing after 1h0m0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [13] sequence req3: blocked on select in concurrency.(*lockTableWaiterImpl).WaitOn new-request name=reqRes2 txn=none ts=10,1 @@ -411,6 +414,7 @@ sequence req=req2 [2] sequence req2: scanning lock table for conflicting locks [2] sequence req2: waiting in lock wait-queues [2] sequence req2: lock wait-queue event: wait for (distinguished) txn 00000001 holding lock @ key "k" (queuedWriters: 1, queuedReaders: 0) +[2] sequence req2: pushing after 1h0m0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [2] sequence req2: blocked on select in concurrency.(*lockTableWaiterImpl).WaitOn debug-lock-table @@ -458,6 +462,7 @@ sequence req=req2 [4] sequence req2: scanning lock table for conflicting locks [4] sequence req2: waiting in lock wait-queues [4] sequence req2: lock wait-queue event: wait for (distinguished) txn 00000001 holding lock @ key "k" (queuedWriters: 1, queuedReaders: 0) +[4] sequence req2: pushing after 1h0m0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [4] sequence req2: blocked on select in concurrency.(*lockTableWaiterImpl).WaitOn new-request name=reqRes1 txn=none ts=10,1 @@ -586,6 +591,7 @@ sequence req=req2 [2] sequence req2: scanning lock table for conflicting locks [2] sequence req2: waiting in lock wait-queues [2] sequence req2: lock wait-queue event: wait for (distinguished) txn 00000001 holding lock @ key "k" (queuedWriters: 1, queuedReaders: 0) +[2] sequence req2: pushing after 1h0m0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [2] sequence req2: blocked on select in concurrency.(*lockTableWaiterImpl).WaitOn sequence req=req3 @@ -682,6 +688,7 @@ sequence req=req2 [8] sequence req2: scanning lock table for conflicting locks [8] sequence req2: waiting in lock wait-queues [8] sequence req2: lock wait-queue event: wait for (distinguished) txn 00000001 holding lock @ key "k" (queuedWriters: 1, queuedReaders: 0) +[8] sequence req2: pushing after 1h0m0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [8] sequence req2: blocked on select in concurrency.(*lockTableWaiterImpl).WaitOn new-request name=reqRes1 txn=none ts=10,1 @@ -796,6 +803,7 @@ sequence req=req2 [2] sequence req2: scanning lock table for conflicting locks [2] sequence req2: waiting in lock wait-queues [2] sequence req2: lock wait-queue event: wait for (distinguished) txn 00000001 holding lock @ key "k" (queuedWriters: 1, queuedReaders: 0) +[2] sequence req2: pushing after 1h0m0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [2] sequence req2: blocked on select in concurrency.(*lockTableWaiterImpl).WaitOn debug-lock-table @@ -843,6 +851,7 @@ sequence req=req2 [4] sequence req2: scanning lock table for conflicting locks [4] sequence req2: waiting in lock wait-queues [4] sequence req2: lock wait-queue event: wait for (distinguished) txn 00000001 holding lock @ key "k" (queuedWriters: 1, queuedReaders: 0) +[4] sequence req2: pushing after 1h0m0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [4] sequence req2: blocked on select in concurrency.(*lockTableWaiterImpl).WaitOn new-request name=reqRes1 txn=none ts=10,1 diff --git a/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/uncertainty b/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/uncertainty index 500df03eaf04..482c4c1e53f9 100644 --- a/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/uncertainty +++ b/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/uncertainty @@ -41,6 +41,7 @@ sequence req=req1 [3] sequence req1: scanning lock table for conflicting locks [3] sequence req1: waiting in lock wait-queues [3] sequence req1: lock wait-queue event: wait for (distinguished) txn 00000001 holding lock @ key "k" (queuedWriters: 0, queuedReaders: 1) +[3] sequence req1: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [3] sequence req1: pushing timestamp of txn 00000001 above 15.000000000,1 [3] sequence req1: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -107,6 +108,7 @@ sequence req=req1 [3] sequence req1: scanning lock table for conflicting locks [3] sequence req1: waiting in lock wait-queues [3] sequence req1: lock wait-queue event: wait for (distinguished) txn 00000001 holding lock @ key "k" (queuedWriters: 0, queuedReaders: 1) +[3] sequence req1: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [3] sequence req1: pushing timestamp of txn 00000001 above 135.000000000,0 [3] sequence req1: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -176,6 +178,7 @@ sequence req=req1 [3] sequence req1: scanning lock table for conflicting locks [3] sequence req1: waiting in lock wait-queues [3] sequence req1: lock wait-queue event: wait for (distinguished) txn 00000001 holding lock @ key "k" (queuedWriters: 0, queuedReaders: 1) +[3] sequence req1: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [3] sequence req1: pushing timestamp of txn 00000001 above 150.000000000,1? [3] sequence req1: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -251,6 +254,7 @@ sequence req=req1 [3] sequence req1: scanning lock table for conflicting locks [3] sequence req1: waiting in lock wait-queues [3] sequence req1: lock wait-queue event: wait for (distinguished) txn 00000001 holding lock @ key "k" (queuedWriters: 0, queuedReaders: 1) +[3] sequence req1: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [3] sequence req1: pushing timestamp of txn 00000001 above 15.000000000,1 [3] sequence req1: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -289,6 +293,7 @@ sequence req=req2-retry [5] sequence req2-retry: scanning lock table for conflicting locks [5] sequence req2-retry: waiting in lock wait-queues [5] sequence req2-retry: lock wait-queue event: wait for txn 00000001 holding lock @ key "k" (queuedWriters: 0, queuedReaders: 2) +[5] sequence req2-retry: pushing after 0s for: liveness detection = false, deadlock detection = true, timeout enforcement = false, priority enforcement = false [5] sequence req2-retry: pushing timestamp of txn 00000001 above 15.000000000,1 [5] sequence req2-retry: blocked on select in concurrency_test.(*cluster).PushTransaction diff --git a/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/update b/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/update index 2b717ae517c6..be8a1e4816f7 100644 --- a/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/update +++ b/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/update @@ -50,6 +50,7 @@ sequence req=req2 [2] sequence req2: scanning lock table for conflicting locks [2] sequence req2: waiting in lock wait-queues [2] sequence req2: lock wait-queue event: wait for (distinguished) txn 00000001 holding lock @ key "k" (queuedWriters: 0, queuedReaders: 1) +[2] sequence req2: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [2] sequence req2: pushing timestamp of txn 00000001 above 12.000000000,1 [2] sequence req2: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -171,6 +172,7 @@ sequence req=req2 [2] sequence req2: scanning lock table for conflicting locks [2] sequence req2: waiting in lock wait-queues [2] sequence req2: lock wait-queue event: wait for (distinguished) txn 00000001 holding lock @ key "k" (queuedWriters: 0, queuedReaders: 1) +[2] sequence req2: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [2] sequence req2: pushing timestamp of txn 00000001 above 12.000000000,1 [2] sequence req2: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -301,6 +303,7 @@ sequence req=req2 [2] sequence req2: scanning lock table for conflicting locks [2] sequence req2: waiting in lock wait-queues [2] sequence req2: lock wait-queue event: wait for (distinguished) txn 00000001 holding lock @ key "k" (queuedWriters: 0, queuedReaders: 1) +[2] sequence req2: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [2] sequence req2: pushing timestamp of txn 00000001 above 12.000000000,1 [2] sequence req2: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -359,6 +362,7 @@ sequence req=req4 [3] sequence req4: scanning lock table for conflicting locks [3] sequence req4: waiting in lock wait-queues [3] sequence req4: lock wait-queue event: wait for (distinguished) txn 00000001 holding lock @ key "k" (queuedWriters: 1, queuedReaders: 0) +[3] sequence req4: pushing after 0s for: liveness detection = true, deadlock detection = false, timeout enforcement = false, priority enforcement = false [3] sequence req4: pushing txn 00000001 to abort [3] sequence req4: blocked on select in concurrency_test.(*cluster).PushTransaction diff --git a/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/wait_elsewhere b/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/wait_elsewhere index 3e458d8d211c..159997ac386e 100644 --- a/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/wait_elsewhere +++ b/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/wait_elsewhere @@ -63,6 +63,7 @@ sequence req=reqWaiter [4] sequence reqWaiter: scanning lock table for conflicting locks [4] sequence reqWaiter: waiting in lock wait-queues [4] sequence reqWaiter: lock wait-queue event: wait for (distinguished) txn 00000001 holding lock @ key "k" (queuedWriters: 1, queuedReaders: 0) +[4] sequence reqWaiter: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [4] sequence reqWaiter: pushing txn 00000001 to abort [4] sequence reqWaiter: blocked on select in concurrency_test.(*cluster).PushTransaction diff --git a/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/wait_policy_error b/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/wait_policy_error index 99afa5ab6995..5dd811f7ca23 100644 --- a/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/wait_policy_error +++ b/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/wait_policy_error @@ -71,6 +71,7 @@ sequence req=req3 [3] sequence req3: scanning lock table for conflicting locks [3] sequence req3: waiting in lock wait-queues [3] sequence req3: lock wait-queue event: wait for (distinguished) txn 00000001 holding lock @ key "k2" (queuedWriters: 1, queuedReaders: 0) +[3] sequence req3: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [3] sequence req3: pushing txn 00000001 to abort [3] sequence req3: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -123,6 +124,7 @@ on-txn-updated txn=txn1 status=committed [3] sequence req3: resolving intent "k2" for txn 00000001 with COMMITTED status [3] sequence req3: lock wait-queue event: wait for (distinguished) txn 00000002 holding lock @ key "k3" (queuedWriters: 1, queuedReaders: 0) [3] sequence req3: conflicted with 00000001-0000-0000-0000-000000000000 on "k2" for 123.000s +[3] sequence req3: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [3] sequence req3: pushing txn 00000002 to abort [3] sequence req3: blocked on select in concurrency_test.(*cluster).PushTransaction diff --git a/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/wait_self b/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/wait_self index 01579ad9e5a6..7a90b9125e54 100644 --- a/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/wait_self +++ b/pkg/kv/kvserver/concurrency/testdata/concurrency_manager/wait_self @@ -48,6 +48,7 @@ sequence req=reqTxn1 [2] sequence reqTxn1: scanning lock table for conflicting locks [2] sequence reqTxn1: waiting in lock wait-queues [2] sequence reqTxn1: lock wait-queue event: wait for (distinguished) txn 00000002 holding lock @ key "k" (queuedWriters: 1, queuedReaders: 0) +[2] sequence reqTxn1: pushing after 0s for: liveness detection = true, deadlock detection = true, timeout enforcement = false, priority enforcement = false [2] sequence reqTxn1: pushing txn 00000002 to abort [2] sequence reqTxn1: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -58,6 +59,7 @@ sequence req=reqTxnMiddle [3] sequence reqTxnMiddle: scanning lock table for conflicting locks [3] sequence reqTxnMiddle: waiting in lock wait-queues [3] sequence reqTxnMiddle: lock wait-queue event: wait for txn 00000002 holding lock @ key "k" (queuedWriters: 2, queuedReaders: 0) +[3] sequence reqTxnMiddle: pushing after 0s for: liveness detection = false, deadlock detection = true, timeout enforcement = false, priority enforcement = false [3] sequence reqTxnMiddle: pushing txn 00000002 to abort [3] sequence reqTxnMiddle: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -68,6 +70,7 @@ sequence req=reqTxn2 [4] sequence reqTxn2: scanning lock table for conflicting locks [4] sequence reqTxn2: waiting in lock wait-queues [4] sequence reqTxn2: lock wait-queue event: wait for txn 00000002 holding lock @ key "k" (queuedWriters: 3, queuedReaders: 0) +[4] sequence reqTxn2: pushing after 0s for: liveness detection = false, deadlock detection = true, timeout enforcement = false, priority enforcement = false [4] sequence reqTxn2: pushing txn 00000002 to abort [4] sequence reqTxn2: blocked on select in concurrency_test.(*cluster).PushTransaction @@ -86,6 +89,7 @@ on-txn-updated txn=txnOld status=committed [3] sequence reqTxnMiddle: resolving intent "k" for txn 00000002 with COMMITTED status [3] sequence reqTxnMiddle: lock wait-queue event: wait for (distinguished) txn 00000001 running request @ key "k" (queuedWriters: 2, queuedReaders: 0) [3] sequence reqTxnMiddle: conflicted with 00000002-0000-0000-0000-000000000000 on "k" for 123.000s +[3] sequence reqTxnMiddle: pushing after 0s for: liveness detection = false, deadlock detection = true, timeout enforcement = false, priority enforcement = false [3] sequence reqTxnMiddle: pushing txn 00000001 to detect request deadlock [3] sequence reqTxnMiddle: blocked on select in concurrency_test.(*cluster).PushTransaction [4] sequence reqTxn2: resolving intent "k" for txn 00000002 with COMMITTED status @@ -120,6 +124,7 @@ finish req=reqTxn1 [3] sequence reqTxnMiddle: sequencing complete, returned guard [4] sequence reqTxn2: lock wait-queue event: wait for (distinguished) txn 00000003 running request @ key "k" (queuedWriters: 1, queuedReaders: 0) [4] sequence reqTxn2: conflicted with 00000001-0000-0000-0000-000000000000 on "k" for 123.000s +[4] sequence reqTxn2: pushing after 0s for: liveness detection = false, deadlock detection = true, timeout enforcement = false, priority enforcement = false [4] sequence reqTxn2: pushing txn 00000003 to detect request deadlock [4] sequence reqTxn2: blocked on select in concurrency_test.(*cluster).PushTransaction