1Parsed test spec with 4 sessions 2 3starting permutation: s1_share s2_for_update s3_share s3_for_update s1_rollback s3_rollback s2_rollback 4step s1_share: select id from tlu_job where id = 1 for share; 5id 6-- 7 1 8(1 row) 9 10step s2_for_update: select id from tlu_job where id = 1 for update; <waiting ...> 11step s3_share: select id from tlu_job where id = 1 for share; 12id 13-- 14 1 15(1 row) 16 17step s3_for_update: select id from tlu_job where id = 1 for update; <waiting ...> 18step s1_rollback: rollback; 19step s3_for_update: <... completed> 20id 21-- 22 1 23(1 row) 24 25step s3_rollback: rollback; 26step s2_for_update: <... completed> 27id 28-- 29 1 30(1 row) 31 32step s2_rollback: rollback; 33 34starting permutation: s1_keyshare s2_for_update s3_keyshare s1_update s3_update s1_rollback s3_rollback s2_rollback 35step s1_keyshare: select id from tlu_job where id = 1 for key share; 36id 37-- 38 1 39(1 row) 40 41step s2_for_update: select id from tlu_job where id = 1 for update; <waiting ...> 42step s3_keyshare: select id from tlu_job where id = 1 for key share; 43id 44-- 45 1 46(1 row) 47 48step s1_update: update tlu_job set name = 'b' where id = 1; 49step s3_update: update tlu_job set name = 'c' where id = 1; <waiting ...> 50step s1_rollback: rollback; 51step s3_update: <... completed> 52step s3_rollback: rollback; 53step s2_for_update: <... completed> 54id 55-- 56 1 57(1 row) 58 59step s2_rollback: rollback; 60 61starting permutation: s1_keyshare s2_for_update s3_keyshare s1_update s3_update s1_commit s3_rollback s2_rollback 62step s1_keyshare: select id from tlu_job where id = 1 for key share; 63id 64-- 65 1 66(1 row) 67 68step s2_for_update: select id from tlu_job where id = 1 for update; <waiting ...> 69step s3_keyshare: select id from tlu_job where id = 1 for key share; 70id 71-- 72 1 73(1 row) 74 75step s1_update: update tlu_job set name = 'b' where id = 1; 76step s3_update: update tlu_job set name = 'c' where id = 1; <waiting ...> 77step s1_commit: commit; 78step s3_update: <... completed> 79step s3_rollback: rollback; 80step s2_for_update: <... completed> 81id 82-- 83 1 84(1 row) 85 86step s2_rollback: rollback; 87 88starting permutation: s1_keyshare s2_for_update s3_keyshare s3_delete s1_rollback s3_rollback s2_rollback 89step s1_keyshare: select id from tlu_job where id = 1 for key share; 90id 91-- 92 1 93(1 row) 94 95step s2_for_update: select id from tlu_job where id = 1 for update; <waiting ...> 96step s3_keyshare: select id from tlu_job where id = 1 for key share; 97id 98-- 99 1 100(1 row) 101 102step s3_delete: delete from tlu_job where id = 1; <waiting ...> 103step s1_rollback: rollback; 104step s3_delete: <... completed> 105step s3_rollback: rollback; 106step s2_for_update: <... completed> 107id 108-- 109 1 110(1 row) 111 112step s2_rollback: rollback; 113 114starting permutation: s1_keyshare s2_for_update s3_keyshare s3_delete s1_rollback s3_commit s2_rollback 115step s1_keyshare: select id from tlu_job where id = 1 for key share; 116id 117-- 118 1 119(1 row) 120 121step s2_for_update: select id from tlu_job where id = 1 for update; <waiting ...> 122step s3_keyshare: select id from tlu_job where id = 1 for key share; 123id 124-- 125 1 126(1 row) 127 128step s3_delete: delete from tlu_job where id = 1; <waiting ...> 129step s1_rollback: rollback; 130step s3_delete: <... completed> 131step s3_commit: commit; 132step s2_for_update: <... completed> 133id 134-- 135(0 rows) 136 137step s2_rollback: rollback; 138 139starting permutation: s1_share s2_for_update s3_for_update s1_rollback s2_rollback s3_rollback 140step s1_share: select id from tlu_job where id = 1 for share; 141id 142-- 143 1 144(1 row) 145 146step s2_for_update: select id from tlu_job where id = 1 for update; <waiting ...> 147step s3_for_update: select id from tlu_job where id = 1 for update; <waiting ...> 148step s1_rollback: rollback; 149step s2_for_update: <... completed> 150id 151-- 152 1 153(1 row) 154 155step s2_rollback: rollback; 156step s3_for_update: <... completed> 157id 158-- 159 1 160(1 row) 161 162step s3_rollback: rollback; 163 164starting permutation: s1_share s2_update s3_update s1_rollback s2_rollback s3_rollback 165step s1_share: select id from tlu_job where id = 1 for share; 166id 167-- 168 1 169(1 row) 170 171step s2_update: update tlu_job set name = 'b' where id = 1; <waiting ...> 172step s3_update: update tlu_job set name = 'c' where id = 1; <waiting ...> 173step s1_rollback: rollback; 174step s2_update: <... completed> 175step s2_rollback: rollback; 176step s3_update: <... completed> 177step s3_rollback: rollback; 178 179starting permutation: s1_share s2_delete s3_delete s1_rollback s2_rollback s3_rollback 180step s1_share: select id from tlu_job where id = 1 for share; 181id 182-- 183 1 184(1 row) 185 186step s2_delete: delete from tlu_job where id = 1; <waiting ...> 187step s3_delete: delete from tlu_job where id = 1; <waiting ...> 188step s1_rollback: rollback; 189step s2_delete: <... completed> 190step s2_rollback: rollback; 191step s3_delete: <... completed> 192step s3_rollback: rollback; 193 194starting permutation: s1_keyshare s3_for_update s2_for_keyshare s1_savept_e s1_share s1_savept_f s1_fornokeyupd s2_fornokeyupd s0_begin s0_keyshare s1_rollback_f s0_keyshare s1_rollback_e s1_rollback s2_rollback s0_rollback s3_rollback 195step s1_keyshare: select id from tlu_job where id = 1 for key share; 196id 197-- 198 1 199(1 row) 200 201step s3_for_update: select id from tlu_job where id = 1 for update; <waiting ...> 202step s2_for_keyshare: select id from tlu_job where id = 1 for key share; 203id 204-- 205 1 206(1 row) 207 208step s1_savept_e: savepoint s1_e; 209step s1_share: select id from tlu_job where id = 1 for share; 210id 211-- 212 1 213(1 row) 214 215step s1_savept_f: savepoint s1_f; 216step s1_fornokeyupd: select id from tlu_job where id = 1 for no key update; 217id 218-- 219 1 220(1 row) 221 222step s2_fornokeyupd: select id from tlu_job where id = 1 for no key update; <waiting ...> 223step s0_begin: begin; 224step s0_keyshare: select id from tlu_job where id = 1 for key share; 225id 226-- 227 1 228(1 row) 229 230step s1_rollback_f: rollback to s1_f; 231step s0_keyshare: select id from tlu_job where id = 1 for key share; 232id 233-- 234 1 235(1 row) 236 237step s1_rollback_e: rollback to s1_e; 238step s2_fornokeyupd: <... completed> 239id 240-- 241 1 242(1 row) 243 244step s1_rollback: rollback; 245step s2_rollback: rollback; 246step s0_rollback: rollback; 247step s3_for_update: <... completed> 248id 249-- 250 1 251(1 row) 252 253step s3_rollback: rollback; 254