[ https://issues.apache.org/jira/browse/HIVE-26121?focusedWorklogId=753989&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-753989 ]
ASF GitHub Bot logged work on HIVE-26121: ----------------------------------------- Author: ASF GitHub Bot Created on: 07/Apr/22 11:30 Start Date: 07/Apr/22 11:30 Worklog Time Spent: 10m Work Description: pvary commented on PR #3181: URL: https://github.com/apache/hive/pull/3181#issuecomment-1091622189 I have missed this before, but do we really need to synchronize `DriverTxnHandler.endTransactionAndCleanup` and `DbTxnManager.java.stopHeartbeat` too? Otherwise LGTM Issue Time Tracking ------------------- Worklog Id: (was: 753989) Time Spent: 40m (was: 0.5h) > Hive transaction rollback should be thread-safe > ----------------------------------------------- > > Key: HIVE-26121 > URL: https://issues.apache.org/jira/browse/HIVE-26121 > Project: Hive > Issue Type: Task > Reporter: Denys Kuzmenko > Priority: Major > Labels: pull-request-available > Time Spent: 40m > Remaining Estimate: 0h > > When Hive query is being interrupted via cancel request, both the background > pool thread (HiveServer2-Background) executing the query and the HttpHandler > thread (HiveServer2-Handler) running the HiveSession.cancelOperation logic > will eventually trigger the below method: > {code} > DriverTxnHandler.endTransactionAndCleanup(boolean commit) > {code} > Since this method could be invoked concurrently we need to synchronize access > to it, so that only 1 thread would attempt to abort the transaction and stop > the heartbeat. -- This message was sent by Atlassian Jira (v8.20.1#820001)