未验证 提交 31d8434a 编写于 作者: W Wang Hao 提交者: GitHub

Fix flaky in query_info_hook_test when interconnect in TCP mode (#8163)

The goal of query_info_hook_test is to ensure query_info_collect_hook
are placed in porper location for emitting query execution metrics.
This test was flaky due to uncertain order of calling between QD and
QEs when the interconnect in TCP mode.
This fix simply silent all QEs from emitting messages.
This is acceptable from the scope of this test because we just want
to make sure hooks are called at correct timing for each backend.
It should not be disturbed by query dispatching between QD and QEs.
上级 6f936827
...@@ -47,13 +47,6 @@ ALTER TABLE queryInfoHookTable1 SET DISTRIBUTED BY (name); ...@@ -47,13 +47,6 @@ ALTER TABLE queryInfoHookTable1 SET DISTRIBUTED BY (name);
WARNING: Query submit WARNING: Query submit
WARNING: Query start WARNING: Query start
WARNING: Plan node initializing WARNING: Plan node initializing
WARNING: Plan node executing node_type: RESULT
WARNING: Plan node finished
WARNING: Query done
WARNING: Query submit
WARNING: Query start
WARNING: Plan node initializing
WARNING: Plan node executing node_type: MOTION
WARNING: Plan node finished WARNING: Plan node finished
WARNING: Plan node finished WARNING: Plan node finished
WARNING: Query done WARNING: Query done
...@@ -64,10 +57,6 @@ WARNING: Query submit ...@@ -64,10 +57,6 @@ WARNING: Query submit
WARNING: Query start WARNING: Query start
WARNING: Plan node initializing WARNING: Plan node initializing
WARNING: Plan node executing node_type: MOTION WARNING: Plan node executing node_type: MOTION
WARNING: Plan node executing node_type: HASHJOIN
WARNING: Plan node executing node_type: HASH
WARNING: Plan node finished
WARNING: Query done
WARNING: Plan node finished WARNING: Plan node finished
WARNING: Plan node finished WARNING: Plan node finished
WARNING: Plan node finished WARNING: Plan node finished
......
#include "postgres.h" #include "postgres.h"
#include "fmgr.h" #include "fmgr.h"
#include "cdb/cdbvars.h"
#include "utils/metrics_utils.h" #include "utils/metrics_utils.h"
#include "nodes/execnodes.h" #include "nodes/execnodes.h"
#include "nodes/print.h" #include "nodes/print.h"
...@@ -32,6 +33,11 @@ _PG_fini(void) ...@@ -32,6 +33,11 @@ _PG_fini(void)
static void static void
test_hook(QueryMetricsStatus status, void* args) test_hook(QueryMetricsStatus status, void* args)
{ {
if (Gp_role != GP_ROLE_DISPATCH)
return;
if (GpIdentity.segindex > -1)
return;
switch (status) switch (status)
{ {
case METRICS_PLAN_NODE_INITIALIZE: case METRICS_PLAN_NODE_INITIALIZE:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册