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

Syed Shameerur Rahman updated HIVE-26467:
-----------------------------------------
    Description: 
Currently SessionState.get() returns null if it is called inside a ThreadPool. 
If there is any custom third party component leverages SessionState.get() for 
some operations like getting the session state or session config inside a 
thread pool it will result in null since session state is thread local 
(https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java#L622)
 and ThreadLocal variable are not inheritable to child threads / thread pools.

So one solution is to make the thread local variable inheritable so the 
SessionState gets propagated to child threads.

  was:
Currently SessionState.get() returns null if it is called inside a ThreadPool. 
If there is any custom third party component leverages SessionState.get() for 
some operations like getting the session state or session config it will result 
in null since session state is thread local 
(https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java#L622)
 and ThreadLocal variable are not inheritable to child threads / thread pools.

So one solution is to make the thread local variable inheritable so the 
SessionState gets propagated to child threads.


> SessionState should be accessible inside ThreadPool
> ---------------------------------------------------
>
>                 Key: HIVE-26467
>                 URL: https://issues.apache.org/jira/browse/HIVE-26467
>             Project: Hive
>          Issue Type: Improvement
>            Reporter: Syed Shameerur Rahman
>            Assignee: Syed Shameerur Rahman
>            Priority: Major
>             Fix For: 4.0.0
>
>
> Currently SessionState.get() returns null if it is called inside a 
> ThreadPool. If there is any custom third party component leverages 
> SessionState.get() for some operations like getting the session state or 
> session config inside a thread pool it will result in null since session 
> state is thread local 
> (https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java#L622)
>  and ThreadLocal variable are not inheritable to child threads / thread pools.
> So one solution is to make the thread local variable inheritable so the 
> SessionState gets propagated to child threads.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to