[ 
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)

Reply via email to