• Z
    Correct and speed up some isolation2 test cases. · 1e68270b
    Zhenghua Lyu 提交于
    * 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.
    1e68270b
end.sql 163 字节