This is an automated email from the ASF dual-hosted git repository. rameshkumar pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/hive.git
The following commit(s) were added to refs/heads/master by this push: new 9b4ea7affa4 HIVE_27843 Add QueryOperation to Hive proto logger for post execution hook information (Ramesh Kumar, reviewed by Attila Turoczy, Ayush Saxena) 9b4ea7affa4 is described below commit 9b4ea7affa4902fc2849f1a88b68103940fc9866 Author: Ramesh Kumar <rameshkumarthangara...@gmail.com> AuthorDate: Mon Nov 27 07:41:28 2023 -0800 HIVE_27843 Add QueryOperation to Hive proto logger for post execution hook information (Ramesh Kumar, reviewed by Attila Turoczy, Ayush Saxena) --- ql/src/java/org/apache/hadoop/hive/ql/hooks/HiveProtoLoggingHook.java | 3 ++- .../test/org/apache/hadoop/hive/ql/hooks/TestHiveProtoLoggingHook.java | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/ql/src/java/org/apache/hadoop/hive/ql/hooks/HiveProtoLoggingHook.java b/ql/src/java/org/apache/hadoop/hive/ql/hooks/HiveProtoLoggingHook.java index 618c7108f67..74d6ac4ce01 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/hooks/HiveProtoLoggingHook.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/hooks/HiveProtoLoggingHook.java @@ -168,7 +168,7 @@ public class HiveProtoLoggingHook implements ExecuteWithHookContext { public enum OtherInfoType { QUERY, STATUS, TEZ, MAPRED, INVOKER_INFO, SESSION_ID, THREAD_NAME, VERSION, CLIENT_IP_ADDRESS, - HIVE_ADDRESS, HIVE_INSTANCE_TYPE, CONF, PERF, LLAP_APP_ID, ERROR_MESSAGE + HIVE_ADDRESS, HIVE_INSTANCE_TYPE, CONF, PERF, LLAP_APP_ID, ERROR_MESSAGE, QUERY_TYPE } public enum ExecutionMode { @@ -445,6 +445,7 @@ public class HiveProtoLoggingHook implements ExecuteWithHookContext { } addMapEntry(builder, OtherInfoType.STATUS, Boolean.toString(success)); addMapEntry(builder, OtherInfoType.ERROR_MESSAGE, hookContext.getErrorMessage()); + addMapEntry(builder, OtherInfoType.QUERY_TYPE, hookContext.getQueryState().getCommandType()); JSONObject perfObj = new JSONObject(); for (String key : hookContext.getPerfLogger().getEndTimes().keySet()) { perfObj.put(key, hookContext.getPerfLogger().getDuration(key)); diff --git a/ql/src/test/org/apache/hadoop/hive/ql/hooks/TestHiveProtoLoggingHook.java b/ql/src/test/org/apache/hadoop/hive/ql/hooks/TestHiveProtoLoggingHook.java index 6b65f0c7873..bff605967cf 100644 --- a/ql/src/test/org/apache/hadoop/hive/ql/hooks/TestHiveProtoLoggingHook.java +++ b/ql/src/test/org/apache/hadoop/hive/ql/hooks/TestHiveProtoLoggingHook.java @@ -86,6 +86,7 @@ public class TestHiveProtoLoggingHook { tmpFolder = folder.newFolder().getAbsolutePath(); conf.setVar(HiveConf.ConfVars.HIVE_PROTO_EVENTS_BASE_PATH, tmpFolder); QueryState state = new QueryState.Builder().withHiveConf(conf).build(); + state.setCommandType(HiveOperation.QUERY); @SuppressWarnings("serial") QueryPlan queryPlan = new QueryPlan(HiveOperation.QUERY) {}; queryPlan.setQueryId("test_queryId"); @@ -246,6 +247,7 @@ public class TestHiveProtoLoggingHook { Assert.assertEquals("test_op_id", event.getOperationId()); assertOtherInfo(event, OtherInfoType.STATUS, Boolean.TRUE.toString()); + assertOtherInfo(event, OtherInfoType.QUERY_TYPE, HiveOperation.QUERY.toString()); String val = findOtherInfo(event, OtherInfoType.PERF); Map<String, Long> map = new ObjectMapper().readValue(val, new TypeReference<Map<String, Long>>() {});