• Z
    Make QEs does not use the GUC gp_enable_global_deadlock_detector · 855f1548
    Zhenghua Lyu 提交于
    Previously, there are some code executed in QEs that will check
    the value of the GUC gp_enable_global_deadlock_detector. The
    historical reason is that:
      Before we have GDD, UPDATE|DELETE operations cannot be
      concurrently executed, and we do not meet the EvalPlanQual
      issue and concurrent split update issue. After we have GDD,
      we meet such issues and add code to resolve them, and we
      add the code `if (gp_enable_global_deadlock_detector)` at
      the very first. It is just like habitual thinking.
    
    In fact, we do not rely on it in QEs and I tried to remove this
    in the context: https://github.com/greenplum-db/gpdb/pull/9992#pullrequestreview-402364938.
    I tried to add an assert there but could not handle utility mode
    as Heikki's comments. To continue that idea, we can just remove
    the check of gp_enable_global_deadlock_detector. This brings two
    benefits:
      1. Some users only change this GUC on master. By removing the usage
         in QEs, it is safe now to make the GUC master only.
      2. We can bring back the skills to only restart master node's postmaster
         to enable GDD, this save a lot of time in pipeline. This commit
         also do this for the isolation2 test cases: lockmodes and gdd/.
    
    The Github issue https://github.com/greenplum-db/gpdb/issues/10030  is gone after this commit.
    855f1548
end.out 828 字节