[
https://issues.apache.org/jira/browse/APEXCORE-767?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16113549#comment-16113549
]
Florian Schmidt edited comment on APEXCORE-767 at 8/3/17 9:47 PM:
------------------------------------------------------------------
Usages of loadDependencies and proposed points where to call
resetContextClassLoader
*ApexCli*
||Occurence of {{loadDependencies()}} ||Context||Proposed calls to
{{resetContextClassLoader()}}||
|In LaunchCommand#execute on line 1989 | App gets started local or in cluster
depending on execution path | call resetContextClassLoader on line 2148 after
launch cluster / execution local is done||
|In ShowLogicalPlanCommand#execute on line 2875 | StramAppLauncher gets created
in order to retrieve LogicalPlan from specified app in app package which will
be printed on the console | call resetContextClassLoader on line 2878 & 2880
before throwing Exception and also after printing the logicalPlan on line 2906 |
|In ShowLogicalPlanCommand#execute on line 2929| StramAppLauncher gets created
in order to retrieve list of apps in app package which will be printed on the
console | call resetContextClassLoader on line 2937 after printing list of apps
in app package |
|In DumpPropertiesCommand#execute on line 3164| StramAppLauncher gets created
in order to dump properties file to console | call resetContextClassLoader on
line 3167 & 3169 before throwing exception and on line 3177 after dumping the
properties to file |
Other calls to loadDependencies outside of ApexCli still need to be thought
through. Will also think about Vlads comment and how this might affect our
current design
was (Author: florianschmidt):
Usages of loadDependencies and proposed points where to call
resetContextClassLoader
*ApexCli*
||Occurence of {{loadDependencies()}} ||Context||Proposed calls to
{{resetContextClassLoader()}}||
|In LaunchCommand#execute on line 1989 | App gets started local or in cluster
depending on execution path | call resetContextClassLoader on line 2148 after
launch cluster / execution local is done||
|In ShowLogicalPlanCommand#execute on line 2875 | StramAppLauncher gets created
in order to retrieve LogicalPlan from specified app in app package which will
be printed on the console | call resetContextClassLoader on line 2878 & 2880
before throwing Exception and also after printing the logicalPlan on line 2906 |
|In ShowLogicalPlanCommand#execute on line 2929| StramAppLauncher gets created
in order to retrieve list of apps in app package which will be printed on the
console | call resetContextClassLoader on line 2937 after printing list of apps
in app package |
|In DumpPropertiesCommand#execute on line 3164| StramAppLauncher gets created
in order to dump properties file to console | call resetContextClassLoader on
line 3167 & 3169 before throwing exception and on line 3177 after dumping the
properties to file |
Other calls to loadDependencies outside of ApexCli still need to be thought
through.
> Duplicate class loading in CLI for single application launch
> -------------------------------------------------------------
>
> Key: APEXCORE-767
> URL: https://issues.apache.org/jira/browse/APEXCORE-767
> Project: Apache Apex Core
> Issue Type: Bug
> Reporter: Thomas Weise
> Assignee: Florian Schmidt
>
> StramAppLauncher will create multiple class loaders in a way that leads to
> duplicate loading of the same class (while listing app package, then when
> launching). It also appears that the context class loader is never reset.
>
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)