[ 
https://issues.apache.org/jira/browse/HIVE-16385?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chao Sun updated HIVE-16385:
----------------------------
    Attachment: HIVE-16385.1.patch

> StatsNoJobTask could exit early before all partitions have been processed
> -------------------------------------------------------------------------
>
>                 Key: HIVE-16385
>                 URL: https://issues.apache.org/jira/browse/HIVE-16385
>             Project: Hive
>          Issue Type: Bug
>          Components: Statistics
>            Reporter: Chao Sun
>            Assignee: Chao Sun
>         Attachments: HIVE-16385.1.patch
>
>
> For a partitioned table, the class {{StatsNoJobTask}} is supposed to launch 
> threads for all partitions and compute their stats. However, it could exit 
> early after at most 100 seconds:
> {code}
>   private void shutdownAndAwaitTermination(ExecutorService threadPool) {
>     // Disable new tasks from being submitted
>     threadPool.shutdown();
>     try {
>       // Wait a while for existing tasks to terminate
>       if (!threadPool.awaitTermination(100, TimeUnit.SECONDS)) {
>         // Cancel currently executing tasks
>         threadPool.shutdownNow();
>         // Wait a while for tasks to respond to being cancelled
>         if (!threadPool.awaitTermination(100, TimeUnit.SECONDS)) {
>           LOG.debug("Stats collection thread pool did not terminate");
>         }
>       }
>     } catch (InterruptedException ie) {
>       // Cancel again if current thread also interrupted
>       threadPool.shutdownNow();
>       // Preserve interrupt status
>       Thread.currentThread().interrupt();
>     }
>   }
> {code}
> The {{shutdown}} call does not wait for all submitted tasks to complete, and 
> the {{awaitTermination}} call waits at most 100 seconds. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to