[
https://issues.apache.org/jira/browse/HIVE-26903?focusedWorklogId=837495&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-837495
]
ASF GitHub Bot logged work on HIVE-26903:
-----------------------------------------
Author: ASF GitHub Bot
Created on: 06/Jan/23 14:15
Start Date: 06/Jan/23 14:15
Worklog Time Spent: 10m
Work Description: veghlaci05 commented on code in PR #3916:
URL: https://github.com/apache/hive/pull/3916#discussion_r1063462016
##########
ql/src/java/org/apache/hadoop/hive/ql/txn/compactor/Worker.java:
##########
@@ -271,7 +272,7 @@ protected Boolean findNextCompactionAndExecute(boolean
collectGenericStats, bool
if (ci == null) {
return false;
}
- if ((runtimeVersion != null || ci.initiatorVersion != null) &&
!runtimeVersion.equals(ci.initiatorVersion)) {
+ if ((runtimeVersion != null && ci.initiatorVersion != null) &&
!runtimeVersion.equals(ci.initiatorVersion)) {
Review Comment:
with the old criteria if runtimeVersion is null and initiatorVersion is not
null, it will lead to an NPE. This change is unrelated to the PR, just wanted
to fix the issue above. However you are right this does not cover all cases.
Issue Time Tracking
-------------------
Worklog Id: (was: 837495)
Time Spent: 1h (was: 50m)
> Compactor threads should gracefully shutdown
> --------------------------------------------
>
> Key: HIVE-26903
> URL: https://issues.apache.org/jira/browse/HIVE-26903
> Project: Hive
> Issue Type: Improvement
> Reporter: László Végh
> Assignee: László Végh
> Priority: Major
> Labels: pull-request-available
> Time Spent: 1h
> Remaining Estimate: 0h
>
> Currently the compactor threads are daemon threads, which means the JVM will
> not wait for these threads to finish. (see:
> [https://github.com/apache/hive/blob/431e7d9e5431a808106d8db81e11aea74f040da5/ql/src/java/org/apache/hadoop/hive/ql/txn/compactor/CompactorThread.java#L81)]
> As a result during system shutdown, JVM may close all daemon threads
> abruptly (JVM won't wait for a thread to sleep/wait, and no
> InterruptedException is thrown), so the threads don't have any chance to
> shutdown gracefully. This can lead to inconsistent/corrupted state in the
> Metastore or on the File system.
> Make the compactor threads user threads, and handle shutdown accordingly.
> Make sure interrupts and InterruptedException is handled accordingly.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)