[ 
https://issues.apache.org/jira/browse/HIVE-2051?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13008654#comment-13008654
 ] 

Siying Dong commented on HIVE-2051:
-----------------------------------

Joydeep, I'm nervous about putting a synchronized object put in context and 
have it available everywhere. I'll made this static method synchronized, so 
that no parallel call to it.

I'm not sure whether I understand correctly but it seems that 
ExecutionException indicates that the waiting thread gets the signal, instead 
of the thread being waited. It does more sound like someone wants to kill the 
process. What we can do if we don't ignore nor throw ExecutionException? We 
only have 3 realistic choices: always throw, always ignore or continue to wait 
as a retry.. To me, always throwing sounds a better idea, as when we catch an 
exception that we don't know how to handle it, throwing it sounds the safest 
way to go. What's your suggestion to handle it?

I'll remove the awaitTermination()

> getInputSummary() to call FileSystem.getContentSummary() in parallel
> --------------------------------------------------------------------
>
>                 Key: HIVE-2051
>                 URL: https://issues.apache.org/jira/browse/HIVE-2051
>             Project: Hive
>          Issue Type: Improvement
>            Reporter: Siying Dong
>            Assignee: Siying Dong
>            Priority: Minor
>         Attachments: HIVE-2051.1.patch, HIVE-2051.2.patch, HIVE-2051.3.patch, 
> HIVE-2051.4.patch
>
>
> getInputSummary() now call FileSystem.getContentSummary() one by one, which 
> can be extremely slow when the number of input paths are huge. By calling 
> those functions in parallel, we can cut latency in most cases.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to