[ 
https://issues.apache.org/jira/browse/HIVE-26903?focusedWorklogId=837489&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-837489
 ]

ASF GitHub Bot logged work on HIVE-26903:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 06/Jan/23 14:07
            Start Date: 06/Jan/23 14:07
    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 is 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: 837489)
    Time Spent: 50m  (was: 40m)

> 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: 50m
>  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)

Reply via email to