[
https://issues.apache.org/jira/browse/HIVE-12528?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15052192#comment-15052192
]
Siddharth Seth commented on HIVE-12528:
---------------------------------------
{code}
+ if (threadCount <= 1) {
+ for (int i = 0; i < blockingQueueLength; i++) {
+ // The queue is FIFO, so if we cycle thru length items, we'd start
each session once.
+ startNextSessionFromQueue();
+ }
{code}
Replace with threadCount == 1 ?, and a precondition for the thredCount to not
be below 1 ?
The threads end up throwing a RuntimeException in case of an Error. This would
otherwise have been caught by the HiveServer2 static initialization block. Is
it now relying upon the default uncaught exception handler ? Would be better to
propagate the exception upwards as it's done today (and maybe a
CompletionService / ListeningExecutor with Callbacks)
{code}
/*
* with this the ordering of sessions in the queue will be (with 2
sessions 3 queues)
* s1q1, s1q2, s1q3, s2q1, s2q2, s2q3 there by ensuring uniform
distribution of
* the sessions across queues at least to begin with. Then as sessions get
freed up, the list
* may change this ordering.
*/
{code}
This statement no longer stands. Given that it's only for the the first set of
jobs anyway - I don't think this is a problem. cc [~vikram.dixit]
I'm not sure how the thread safety - specifically visibility aspects are
handled (both before and after the patch). SessionStates, TezClient instances
etc are created in a single thread (now multiple threads), and then used in
completely different threads. What is guaranteeing correct visibility ?
> don't start HS2 Tez sessions in a single thread
> -----------------------------------------------
>
> Key: HIVE-12528
> URL: https://issues.apache.org/jira/browse/HIVE-12528
> Project: Hive
> Issue Type: Bug
> Reporter: Sergey Shelukhin
> Assignee: Sergey Shelukhin
> Attachments: HIVE-12528.patch
>
>
> Starting sessions in parallel would improve the startup time.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)