[jira] [Commented] (BEAM-682) Invoker Class should be created in Thread Context Classloader

2016-12-02 Thread Luke Cwik (JIRA)

[ 
https://issues.apache.org/jira/browse/BEAM-682?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15717358#comment-15717358
 ] 

Luke Cwik commented on BEAM-682:


ReflectHelpers exposes a method which figures out the correct class loader to 
use:
https://github.com/apache/incubator-beam/blob/master/sdks/java/core/src/main/java/org/apache/beam/sdk/util/common/ReflectHelpers.java#L224

You can't assume the current threads context class loader is always available 
since it can be null.
http://stackoverflow.com/questions/3459216/can-the-thread-context-class-loader-be-null

> Invoker Class should be created in Thread Context Classloader
> -
>
> Key: BEAM-682
> URL: https://issues.apache.org/jira/browse/BEAM-682
> Project: Beam
>  Issue Type: Bug
>  Components: sdk-java-core
>Affects Versions: 0.3.0-incubating
>Reporter: Sumit Chawla
>Assignee: Sumit Chawla
>
> As of now the InvokerClass is being loaded in wrong classloader. It should be 
> loaded into Thread.currentThread.getContextClassLoader()
> https://github.com/apache/incubator-beam/blob/master/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/DoFnInvokers.java#L167
> {code}
>  Class> res =
> (Class>)
> unloaded
> .load(DoFnInvokers.class.getClassLoader(), 
> ClassLoadingStrategy.Default.INJECTION)
> .getLoaded();
> {code}
> Fix 
> {code}
>  Class> res =
> (Class>)
> unloaded
> .load(Thread.currentThread().getContextClassLoader(),
> ClassLoadingStrategy.Default.INJECTION)
> .getLoaded();
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (BEAM-682) Invoker Class should be created in Thread Context Classloader

2016-11-17 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/BEAM-682?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15675066#comment-15675066
 ] 

ASF GitHub Bot commented on BEAM-682:
-

Github user sumitchawla closed the pull request at:

https://github.com/apache/incubator-beam/pull/1013


> Invoker Class should be created in Thread Context Classloader
> -
>
> Key: BEAM-682
> URL: https://issues.apache.org/jira/browse/BEAM-682
> Project: Beam
>  Issue Type: Bug
>  Components: sdk-java-core
>Affects Versions: 0.3.0-incubating
>Reporter: Sumit Chawla
>Assignee: Sumit Chawla
>Priority: Critical
>
> As of now the InvokerClass is being loaded in wrong classloader. It should be 
> loaded into Thread.currentThread.getContextClassLoader()
> https://github.com/apache/incubator-beam/blob/master/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/DoFnInvokers.java#L167
> {code}
>  Class> res =
> (Class>)
> unloaded
> .load(DoFnInvokers.class.getClassLoader(), 
> ClassLoadingStrategy.Default.INJECTION)
> .getLoaded();
> {code}
> Fix 
> {code}
>  Class> res =
> (Class>)
> unloaded
> .load(Thread.currentThread().getContextClassLoader(),
> ClassLoadingStrategy.Default.INJECTION)
> .getLoaded();
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (BEAM-682) Invoker Class should be created in Thread Context Classloader

2016-09-26 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/BEAM-682?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15524854#comment-15524854
 ] 

ASF GitHub Bot commented on BEAM-682:
-

GitHub user sumitchawla opened a pull request:

https://github.com/apache/incubator-beam/pull/1013

BEAM-682-Invoker Class should be created in Thread Context Classloader

As of now the InvokerClass is being loaded in wrong classloader. It should 
be loaded into Thread.currentThread.getContextClassLoader()

https://github.com/apache/incubator-beam/blob/master/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/DoFnInvokers.java#L167
 Class> res =
(Class>)
unloaded
.load(DoFnInvokers.class.getClassLoader(), 
ClassLoadingStrategy.Default.INJECTION)
.getLoaded();

Fix
 Class> res =
(Class>)
unloaded
.load(Thread.currentThread().getContextClassLoader(),
ClassLoadingStrategy.Default.INJECTION)
.getLoaded();

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/sumitchawla/incubator-beam classloader_fix

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/incubator-beam/pull/1013.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #1013


commit ecb7fc6c7ec7b0a2016f7da5edf9cf7f3bc9ace4
Author: Sumit Chawla 
Date:   2016-09-27T02:45:22Z

BEAM-682-Invoker Class should be created in Thread Context Classloader




> Invoker Class should be created in Thread Context Classloader
> -
>
> Key: BEAM-682
> URL: https://issues.apache.org/jira/browse/BEAM-682
> Project: Beam
>  Issue Type: Bug
>  Components: sdk-java-core
>Affects Versions: 0.3.0-incubating
>Reporter: Sumit Chawla
>Assignee: Sumit Chawla
>Priority: Critical
>
> As of now the InvokerClass is being loaded in wrong classloader. It should be 
> loaded into Thread.currentThread.getContextClassLoader()
> https://github.com/apache/incubator-beam/blob/master/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/DoFnInvokers.java#L167
> {code}
>  Class> res =
> (Class>)
> unloaded
> .load(DoFnInvokers.class.getClassLoader(), 
> ClassLoadingStrategy.Default.INJECTION)
> .getLoaded();
> {code}
> Fix 
> {code}
>  Class> res =
> (Class>)
> unloaded
> .load(Thread.currentThread().getContextClassLoader(),
> ClassLoadingStrategy.Default.INJECTION)
> .getLoaded();
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)