From 77dc6ed42c6d0b65dd971566c2184e9bd7008e68 Mon Sep 17 00:00:00 2001 From: Jan Nidzwetzki Date: Thu, 31 Aug 2023 09:56:38 +0200 Subject: [PATCH] Fix non-deterministic cagg_insert isolation test One permutation of the cagg_insert isolation test contains an assumption about the execution order of three processes after a lock is released. However, this behavior is non-deterministic. This PR makes the assumption explicit and adds proper markers to the isolation test to make the output deterministic. --- tsl/test/isolation/specs/cagg_insert.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tsl/test/isolation/specs/cagg_insert.spec b/tsl/test/isolation/specs/cagg_insert.spec index b6e79db5bcb..110b5201c3d 100644 --- a/tsl/test/isolation/specs/cagg_insert.spec +++ b/tsl/test/isolation/specs/cagg_insert.spec @@ -123,7 +123,7 @@ step "LockMatInval" { BEGIN; LOCK TABLE _timescaledb_catalog.continuous_aggs_mat step "UnlockMatInval" { ROLLBACK; } #only one refresh -permutation "LockInvalThrEx" "Refresh" "Refresh2" "Refresh3" "UnlockInvalThrEx" +permutation "LockInvalThrEx" "Refresh" "Refresh2" (Refresh) "Refresh3" (Refresh, Refresh2) "UnlockInvalThrEx" #refresh and insert do not block each other once refresh is out of the #first transaction where it moves the invalidation threshold