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

Stanilovsky Evgeny updated IGNITE-4647:
---------------------------------------
    Description: 
In case, when we want to run ComputeTask with custom classLoader and custom 
inherited IgniteCallable class initialized with instance from custom loader, 
catch error *java.lang.ClassNotFoundException*. 

-- deploy node code --
        IgniteConfiguration icfg = new IgniteConfiguration();
        icfg.setGridName("grid");
        icfg.setPeerClassLoadingEnabled(true);
        icfg.setClassLoader(igniteLoader);

--client code --
        IgniteConfiguration icfg = new IgniteConfiguration();
        icfg.setGridName("grid");
        icfg.setPeerClassLoadingEnabled(true);

all detailed info, how to reproduce in attach.

debug shows that function {code} processResourceRequest(UUID nodeId, 
GridDeploymentRequest req) {code} return classLoader {code} ClassLoader ldr = 
dep.classLoader(); {code} not that expected (that was setting throught 
icfg.setClassLoader(igniteLoader);) but classLoader from {code} 
ignite.compute().affinityCall("cache", i, igniteCallable); {code}    {code} 
igniteCallable {code} object.

All source for reproduce can be found in attach.

  was:
In case, when we want to run ComputeTask with custom classLoader and custom 
inherited IgniteCallable class initialized with instance from custom loader, 
catch error *java.lang.ClassNotFoundException*. 

-- deploy node code --
        IgniteConfiguration icfg = new IgniteConfiguration();
        icfg.setGridName("grid");
        icfg.setPeerClassLoadingEnabled(true);
        icfg.setClassLoader(igniteLoader);

--client code --
        IgniteConfiguration icfg = new IgniteConfiguration();
        icfg.setGridName("grid");
        icfg.setPeerClassLoadingEnabled(true);

all detailed info, how to reproduce in attach.

debug shows that function {code} processResourceRequest(UUID nodeId, 
GridDeploymentRequest req) {code} return classLoader {code} ClassLoader ldr = 
dep.classLoader(); {code} not that expected (that was setting throught 
icfg.setClassLoader(igniteLoader);) but classLoader from {code} 
ignite.compute().affinityCall("cache", i, igniteCallable); {code}    {code} 
igniteCallable {code} object.


> ComputeTask with custom classLoader fail
> ----------------------------------------
>
>                 Key: IGNITE-4647
>                 URL: https://issues.apache.org/jira/browse/IGNITE-4647
>             Project: Ignite
>          Issue Type: Bug
>          Components: compute
>    Affects Versions: 2.0
>            Reporter: Stanilovsky Evgeny
>            Priority: Minor
>         Attachments: repro-2813.tar.gz
>
>
> In case, when we want to run ComputeTask with custom classLoader and custom 
> inherited IgniteCallable class initialized with instance from custom loader, 
> catch error *java.lang.ClassNotFoundException*. 
> -- deploy node code --
>         IgniteConfiguration icfg = new IgniteConfiguration();
>         icfg.setGridName("grid");
>         icfg.setPeerClassLoadingEnabled(true);
>         icfg.setClassLoader(igniteLoader);
> --client code --
>         IgniteConfiguration icfg = new IgniteConfiguration();
>         icfg.setGridName("grid");
>         icfg.setPeerClassLoadingEnabled(true);
> all detailed info, how to reproduce in attach.
> debug shows that function {code} processResourceRequest(UUID nodeId, 
> GridDeploymentRequest req) {code} return classLoader {code} ClassLoader ldr = 
> dep.classLoader(); {code} not that expected (that was setting throught 
> icfg.setClassLoader(igniteLoader);) but classLoader from {code} 
> ignite.compute().affinityCall("cache", i, igniteCallable); {code}    {code} 
> igniteCallable {code} object.
> All source for reproduce can be found in attach.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to