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 <[email protected]>
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>>() {});