[ 
https://issues.apache.org/jira/browse/HIVE-26467?focusedWorklogId=800274&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-800274
 ]

ASF GitHub Bot logged work on HIVE-26467:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 12/Aug/22 10:58
            Start Date: 12/Aug/22 10:58
    Worklog Time Spent: 10m 
      Work Description: shameersss1 opened a new pull request, #3516:
URL: https://github.com/apache/hive/pull/3516

   <!--
   Thanks for sending a pull request!  Here are some tips for you:
     1. If this is your first time, please read our contributor guidelines: 
https://cwiki.apache.org/confluence/display/Hive/HowToContribute
     2. Ensure that you have created an issue on the Hive project JIRA: 
https://issues.apache.org/jira/projects/HIVE/summary
     3. Ensure you have added or run the appropriate tests for your PR: 
     4. If the PR is unfinished, add '[WIP]' in your PR title, e.g., 
'[WIP]HIVE-XXXXX:  Your PR title ...'.
     5. Be sure to keep the PR description updated to reflect all changes.
     6. Please write your PR title to summarize what this PR proposes.
     7. If possible, provide a concise example to reproduce the issue for a 
faster review.
   
   -->
   
   ### What changes were proposed in this pull request?
   
   Change ThreadLocal Variable to Inheritable ThreadLocal variable
   
   
   ### Why are the changes needed?
   
   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.
   
   
   ### Does this PR introduce _any_ user-facing change?
   No
   
   
   ### How was this patch tested?
   Unit Test was added to test the feature
   




Issue Time Tracking
-------------------

            Worklog Id:     (was: 800274)
    Remaining Estimate: 0h
            Time Spent: 10m

> 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
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> 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