0002-Add-test-to-validate-speculative-wait-is-performed.patch
application/octet-stream
Filename: 0002-Add-test-to-validate-speculative-wait-is-performed.patch
Type: application/octet-stream
Part: 0
Patch
Format: unified
Series: patch 0002
| File | + | − |
|---|---|---|
| src/test/isolation/specs/insert-conflict-specconflict.spec | 13 | 7 |
diff --git a/src/test/isolation/specs/insert-conflict-specconflict.spec b/src/test/isolation/specs/insert-conflict-specconflict.spec
index 71e46727cf..4ae33319ab 100644
--- a/src/test/isolation/specs/insert-conflict-specconflict.spec
+++ b/src/test/isolation/specs/insert-conflict-specconflict.spec
@@ -159,14 +159,20 @@ permutation
"s2_commit"
"controller_show"
-# Test that speculative wait is performed if session sees a speculatively
-# inserted tuple. Speculatively inserted tuple means tuple is inserted into the
-# table and unique index but yet to *complete* the speculative insertion
+# Test that speculative wait is performed if a session sees a speculatively
+# inserted tuple. A speculatively inserted tuple is one which has been inserted
+# both into the table and the unique index but has yet to *complete* the
+# speculative insertion
permutation
- # acquire a number of locks, to control execution flow - the
+ # acquire a number of advisory locks to control execution flow - the
# blurt_and_lock function acquires advisory locks that allow us to
- # continue after a) the optimistic conflict probe b) after the
+ # continue after a) the optimistic conflict probe and b) after the
# insertion of the speculative tuple.
+ # blurt_and_lock2 acquires an advisory lock which allows us to pause
+ # execution c) before completing the speculative insertion
+
+ # create the second index here to avoid affecting the other
+ # permutations. also, s1 creates it instead of the controller because ...
"s1_create_non_unique_index"
"controller_locks"
"controller_show"
@@ -184,9 +190,9 @@ permutation
"controller_unlock_2_2"
# This should still not show a successful insertion
"controller_show"
- # Allow the first session, it should perform speculative wait
+ # Allow the first session to continue, it should perform speculative wait
"controller_unlock_1_2"
- # Should report waiting on speculative lock
+ # Should report s1 is waiting on speculative lock
"controller_print_speculative_locks"
"controller_unlock_2_4"
# This should now show a successful UPSERT