[ https://issues.apache.org/jira/browse/HIVE-26265?focusedWorklogId=784029&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-784029 ]
ASF GitHub Bot logged work on HIVE-26265: ----------------------------------------- Author: ASF GitHub Bot Created on: 23/Jun/22 04:10 Start Date: 23/Jun/22 04:10 Worklog Time Spent: 10m Work Description: cmunkey commented on PR #3365: URL: https://github.com/apache/hive/pull/3365#issuecomment-1163905485 Changed the following since the last upload: - Eliminated HMS client changes. The HMS client changes were used to query HMS to get the databases updated for a AbortTxnEvent, in the case where the event was used to notify the non transactional listeners. Currently only the DbTxnListener which is a transactional listener needs the databases updated. - Added unit test to make sure that old versions of the AbortTxnEvent can still be serialiazed for the case where REPL DUMP may be processing events logged by an older version. - Modified TestReplicationFilters to do extra transactions on the replica database to test out the source to target transaction mapping. Currently this test is causing the following problems that I am still debugging: testTxnEventsOptimized() - to assert that transaction mapping was being done correctly, I tried to check the REPL_TXN_MAP on the replica. But this proved difficult because of the following: o REPL_TXN_MAP is cleared during commit/abort, so it could not be checked at the end of the test. Instead, I tried to capture the table in the openTxn test listener. But it seemed like the extra SELECT that the test is doing is causing some kind of deadlock in the code. Some of the sampling did work, and I could see in the debugger the mapping, after a few times sampling, the test gets a "org.apache.hadoop.hive.ql.lockmgr.LockException: Error communicating with the metastore" exception. o For the test to pass, I commented out the sampling of the REPL_TXN_MAP table. testTxnEventsUnoptimized() - this these was modified to burn some transactions on the replica also. But when these extra transactions are burned, on the replica, there is now extra openTxn() calls that are unexpected. This test has the transaction filtering as OFF, so it should be default behavior, so I am not sure what is going on. For the test to pass, I commented out the code to burn the transactions. Issue Time Tracking ------------------- Worklog Id: (was: 784029) Time Spent: 1h 20m (was: 1h 10m) > REPL DUMP should filter out OpenXacts and unneeded CommitXact/Abort. > -------------------------------------------------------------------- > > Key: HIVE-26265 > URL: https://issues.apache.org/jira/browse/HIVE-26265 > Project: Hive > Issue Type: Improvement > Components: HiveServer2 > Reporter: francis pang > Assignee: francis pang > Priority: Major > Labels: pull-request-available > Time Spent: 1h 20m > Remaining Estimate: 0h > > REPL DUMP is replication all OpenXacts, even when they are from other non > replicated databases. This wastes space in the dump, and ends up opening > unneeded transactions during REPL LOAD. > > Add a config property for replication that filters out OpenXact events during > REPL DUMP. During REPL LOAD, the txns can be implicitly opened when the > ALLOC_WRITE_ID is processed. For CommitTxn and AbortTxn, dump only if WRITE > ID was allocated. -- This message was sent by Atlassian Jira (v8.20.7#820007)