You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Shawn Weeks (JIRA)" <ji...@apache.org> on 2019/03/08 21:50:00 UTC

[jira] [Updated] (HIVE-21409) Initial SessionState ClassLoader Reused For Subsequent Sessions

     [ 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)