[ https://issues.apache.org/jira/browse/HIVE-26446?focusedWorklogId=801252&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-801252 ]
ASF GitHub Bot logged work on HIVE-26446: ----------------------------------------- Author: ASF GitHub Bot Created on: 17/Aug/22 08:08 Start Date: 17/Aug/22 08:08 Worklog Time Spent: 10m Work Description: deniskuzZ commented on code in PR #3499: URL: https://github.com/apache/hive/pull/3499#discussion_r947584718 ########## ql/src/test/org/apache/hadoop/hive/ql/hooks/TestHiveProtoLoggingHook.java: ########## @@ -322,4 +338,63 @@ private void assertOtherInfo(HiveHookEventProto event, OtherInfoType key, String Assert.assertEquals(value, val); } } + + private void testTablesWritten(WriteEntity we, boolean isPartitioned) throws Exception { + String query = isPartitioned ? + "insert into test_partition partition(dt = '20220102', lable = 'test1') values('20220103', 'banana');" : + "insert into default.testTable1 values('ab')"; + HashSet<WriteEntity> tableWritten = new HashSet<>(); + tableWritten.add(we); + QueryState state = new QueryState.Builder().withHiveConf(conf).build(); + @SuppressWarnings("serial") + QueryPlan queryPlan = new QueryPlan(HiveOperation.QUERY) { + }; + queryPlan.setQueryId("test_queryId"); + queryPlan.setQueryStartTime(1234L); + queryPlan.setQueryString(query); + queryPlan.setRootTasks(new ArrayList<>()); + queryPlan.setInputs(new HashSet<>()); + queryPlan.setOutputs(tableWritten); + PerfLogger perf = PerfLogger.getPerfLogger(conf, true); + HookContext ctx = new HookContext(queryPlan, state, null, "test_user", "192.168.10.11", + "hive_addr", "test_op_id", "test_session_id", "test_thread_id", true, perf, null); + + ctx.setHookType(HookType.PRE_EXEC_HOOK); + EventLogger evtLogger = new EventLogger(conf, SystemClock.getInstance()); + evtLogger.handle(ctx); + evtLogger.shutdown(); + + HiveHookEventProto event = loadEvent(conf, tmpFolder); + + Assert.assertEquals(EventType.QUERY_SUBMITTED.name(), event.getEventType()); + Assert.assertEquals(we.getTable().getFullyQualifiedName(), event.getTablesWritten(0)); + } + + private Table newTable(boolean isPartitioned) { Review Comment: sure Issue Time Tracking ------------------- Worklog Id: (was: 801252) Time Spent: 1h 10m (was: 1h) > HiveProtoLoggingHook fails to populate TablesWritten field for partitioned > tables. > ---------------------------------------------------------------------------------- > > Key: HIVE-26446 > URL: https://issues.apache.org/jira/browse/HIVE-26446 > Project: Hive > Issue Type: Bug > Reporter: Simhadri Govindappa > Assignee: Simhadri Govindappa > Priority: Major > Labels: pull-request-available > Time Spent: 1h 10m > Remaining Estimate: 0h > > From > [here|https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/hooks/HiveProtoLoggingHook.java#L490] > : > {code:java} > if (entity.getType() == Entity.Type.TABLE) {code} > entity.getType() returns the value as "PARTITION" for partitioned tables > instead of "TABLE" as a result the above check returns false and the > tablesWritten field in the hiveProtologger is left unpopulated for > partitioned tables. > -- This message was sent by Atlassian Jira (v8.20.10#820010)