From 31d8434a73c48181a6dcc9c156e7686a51ad25d5 Mon Sep 17 00:00:00 2001 From: Wang Hao Date: Thu, 18 Jul 2019 11:15:02 +0800 Subject: [PATCH] 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. --- src/test/regress/output/query_info_hook_test.source | 11 ----------- .../query_info_hook_test/query_info_hook_test.c | 6 ++++++ 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/src/test/regress/output/query_info_hook_test.source b/src/test/regress/output/query_info_hook_test.source index f0112938e1..519f37729b 100644 --- a/src/test/regress/output/query_info_hook_test.source +++ b/src/test/regress/output/query_info_hook_test.source @@ -47,13 +47,6 @@ ALTER TABLE queryInfoHookTable1 SET DISTRIBUTED BY (name); WARNING: Query submit WARNING: Query start 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: Query done @@ -64,10 +57,6 @@ WARNING: Query submit WARNING: Query start WARNING: Plan node initializing 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 diff --git a/src/test/regress/query_info_hook_test/query_info_hook_test.c b/src/test/regress/query_info_hook_test/query_info_hook_test.c index 219cef613a..15facca08b 100644 --- a/src/test/regress/query_info_hook_test/query_info_hook_test.c +++ b/src/test/regress/query_info_hook_test/query_info_hook_test.c @@ -1,6 +1,7 @@ #include "postgres.h" #include "fmgr.h" +#include "cdb/cdbvars.h" #include "utils/metrics_utils.h" #include "nodes/execnodes.h" #include "nodes/print.h" @@ -32,6 +33,11 @@ _PG_fini(void) static void test_hook(QueryMetricsStatus status, void* args) { + if (Gp_role != GP_ROLE_DISPATCH) + return; + if (GpIdentity.segindex > -1) + return; + switch (status) { case METRICS_PLAN_NODE_INITIALIZE: -- GitLab