hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Szehon Ho (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-13149) Remove some unnecessary HMS connections from HS2
Date Thu, 03 Mar 2016 19:19:18 GMT

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

Szehon Ho commented on HIVE-13149:
----------------------------------

1.  Yea I think the right fix would be to not have the method 'get' to do so many things and
actually just return if its already set on thread-local, but probably that's more change to
change all the existing calls..  so I would say not to add yet another flavor that might confuse
even more.

2.  Sounds good.. just wanted to check there's no downside to that right?  I just wonder why
the original guy tried to initialize it at that time, like would it be repeated for every
task even if on the same thread?

> Remove some unnecessary HMS connections from HS2 
> -------------------------------------------------
>
>                 Key: HIVE-13149
>                 URL: https://issues.apache.org/jira/browse/HIVE-13149
>             Project: Hive
>          Issue Type: Sub-task
>          Components: HiveServer2
>    Affects Versions: 2.0.0
>            Reporter: Aihua Xu
>            Assignee: Aihua Xu
>         Attachments: HIVE-13149.1.patch, HIVE-13149.2.patch
>
>
> In SessionState class, currently we will always try to get a HMS connection in {{start(SessionState
startSs, boolean isAsync, LogHelper console)}} regardless of if the connection will be used
later or not. 
> When SessionState is accessed by the tasks in TaskRunner.java, although most of the tasks
other than some like StatsTask, don't need to access HMS. Currently a new HMS connection will
be established for each Task thread. If HiveServer2 is configured to run in parallel and the
query involves many tasks, then the connections are created but unused.
> {noformat}
>   @Override
>   public void run() {
>     runner = Thread.currentThread();
>     try {
>       OperationLog.setCurrentOperationLog(operationLog);
>       SessionState.start(ss);
>       runSequential();
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message