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

Shawn Weeks updated HIVE-21409:
-------------------------------
    Description: It appears that the first ClassLoader attached to a 
SessionState Static Instance is being reused as the parent for all future 
sessions. This causes any libraries added to the class path on the initial 
session to be added to future sessions. It also appears that further sessions 
may be adding jars to this initial ClassLoader as well leading to the class 
path getting more and more polluted. This occurring on a build including 
HIVE-11878. I've included some examples that greatly exaggerate the problem.  
(was: While trying to reproduce another bug I've ran across something 
interesting. It appears that the first session to a hiveserver2 instance after 
startup is able to contaminate the class path for subsequent sessions. I've 
written a small groovy udf to dump the current session class path as well as 
it's parents and in the attached example any jar added to class path in the 
initial session is present in future sessions. I've tried adding other jars as 
well and the behavior is there for all of them.

To demonstrate run setup.sql then restart the hiveserver2 instance. Then run 
run.sql and notice the last query after reconnect. I've only tested this so far 
on the HDP 2.6.5 release of Hive but it may be present on other versions.)
        Summary: Initial SessionState ClassLoader Reused For Subsequent 
Sessions  (was: First Hive Session Class Path Additions Added to All Sessions)

> Initial SessionState ClassLoader Reused For Subsequent Sessions
> ---------------------------------------------------------------
>
>                 Key: HIVE-21409
>                 URL: https://issues.apache.org/jira/browse/HIVE-21409
>             Project: Hive
>          Issue Type: Bug
>    Affects Versions: 1.2.1
>            Reporter: Shawn Weeks
>            Priority: Minor
>         Attachments: create_class.sql, run.sql, setup.sql
>
>
> It appears that the first ClassLoader attached to a SessionState Static 
> Instance is being reused as the parent for all future sessions. This causes 
> any libraries added to the class path on the initial session to be added to 
> future sessions. It also appears that further sessions may be adding jars to 
> this initial ClassLoader as well leading to the class path getting more and 
> more polluted. This occurring on a build including HIVE-11878. I've included 
> some examples that greatly exaggerate the problem.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to