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>>() {});

Reply via email to