提交 3265e270 编写于 作者: J Jimmy Yih

Fix uao_crash_compaction_column isolation2 test

The AO VACUUM on crash_before_cleanup_phase table was supposed to skip
AO VACUUM drop phase because session 3 above it had acquired an
AccessShareLock. However, the VACUUM is executed in background and the
next command ends session 3's transaction and releases the
AccessShareLock. This creates a race condition where AO VACUUM drop
phase is not skipped when session 3's transaction ends too quickly. We
fix the issue by ending session 3's transaction only after the VACUUM
has hit the fault injector that tells us it is about to do its cleanup
phase.
Co-authored-by: NDavid Kimura <dkimura@pivotal.io>
上级 f6f7a3ed
......@@ -100,13 +100,13 @@ count
7
(1 row)
1&:VACUUM crash_before_cleanup_phase; <waiting ...>
3:END;
END
3:SELECT gp_wait_until_triggered_fault('compaction_before_cleanup_phase', 1, 2);
gp_wait_until_triggered_fault
-----------------------------
t
(1 row)
3:END;
END
-- we already waited for suspend faults to trigger and hence we can proceed to
-- run next command which would trigger panic fault and help test
......
......@@ -47,8 +47,8 @@
3:BEGIN;
3:SELECT count(*) FROM crash_before_cleanup_phase;
1&:VACUUM crash_before_cleanup_phase;
3:END;
3:SELECT gp_wait_until_triggered_fault('compaction_before_cleanup_phase', 1, 2);
3:END;
-- we already waited for suspend faults to trigger and hence we can proceed to
-- run next command which would trigger panic fault and help test
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册