Correct and speed up some isolation2 test cases.
* Enable GDD for test concurrent update table with varying length type. This test case of "test concurrent update table with varying length type" in isolation2/concurrent_update is introduced by the commit 8ae681e5. It assumes to test evalPlanQual's logic so GDD has to be enabled. The mistake happens because when commit 8ae681e5 goes in, GDD is default enabled. Later commit 29e7f102 set GDD defaultly disabled but did not handle this test case correctly This commit fixes this by moving the case in the env with GDD enabled. * Make concurrent_update* test concise. Previously, concurrent_update_epq and concurrent_update_distkey have some cases for AO/CO table, and some cases running without GDD. That does not make much sense because: * for AO/CO table, it always holds ExclusiveLock on the table no matter GDD is enabled or disabled * without GDD, it always holds ExclusiveLock on the table I believe for the above two naive cases, just checking lockmode on the table should be enough, and isolation2/lockmodes test case has already covered this. This commit removes such cases concurrent_update_epq and concurrent_update_distkey. After this, the two scripts can be merged into concurrent_update because they all need GDD to be enabled and this commit merges them into one test script. After this, we can move the only remaining test concurrent_update to the gdd suites to save time of extra restarting cluster twice. * Restart the whole cluster for GDD since QEs will use the GUC. Previous commit a4b2fea3 uses a skill that only restart master node's postmaster to avoid restart the whole Greenplum cluster so that saves some time for pipeline test. The skill works under the assumption that gp_enable_global_deadlock_detector only needs on master. But actually, in QEs, we also have code that checking this GUC: ExecDelete and XactLockTableWait. So we'd better restart the whole cluster to make the GUC in QEs also changed. I find this issue when I am trying to use the skill of commit a4b2fea3 for the isolation2 test case `concurrent_update`, that case was introduced by the commit 39fbfe96 and that commit adds some code running on QEs but need the GUC gp_enable_global_deadlock_detector.
Showing
想要评论请 注册 或 登录