diff --git a/src/test/isolation/specs/insert-conflict-specconflict.spec b/src/test/isolation/specs/insert-conflict-specconflict.spec index 3a70484fc2..3c7f9c2239 100644 --- a/src/test/isolation/specs/insert-conflict-specconflict.spec +++ b/src/test/isolation/specs/insert-conflict-specconflict.spec @@ -70,24 +70,29 @@ step "s2_commit" { COMMIT; } # Test that speculative locks are correctly acquired and released, s2 # inserts, s1 updates. 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 # insertion of the speculative tuple. + "controller_locks" "controller_show" + # Both sessions will be waiting on advisory locks "s1_upsert" "s2_upsert" "controller_show" - # Switch both sessions to wait on the other lock next time (the speculative insertion) + # Switch both sessions to wait on the other advisory lock next time "controller_unlock_1_1" "controller_unlock_2_1" - # Allow both sessions to continue + # Allow both sessions to do the optimistic conflict probe and do the + # speculative insertion into the table + # They will then be waiting on another advisory lock when they attempt to + # update the index "controller_unlock_1_3" "controller_unlock_2_3" "controller_show" - # Allow the second session to finish insertion + # Allow the second session to finish insertion (complete speculative) "controller_unlock_2_2" # This should now show a successful insertion "controller_show" - # Allow the first session to finish insertion + # Allow the first session to finish insertion (abort speculative) "controller_unlock_1_2" # This should now show a successful UPSERT "controller_show"