Hi igniters,

recenlty we have upgraded from 2.7.6 to 2.10.0 and some of
cacheentryprocessors started to throw following errors on cache.invoke(...)
calls.

Caused by: java.lang.ClassNotFoundException:
com.segmentify.lotr.frodo.cacheentryprocessor.RockScoreUpdateProcessor
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
~[?:1.8.0_261]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[?:1.8.0_261]
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
~[?:1.8.0_261]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_261]
        at java.lang.Class.forName0(Native Method) ~[?:1.8.0_261]
        at java.lang.Class.forName(Class.java:348) ~[?:1.8.0_261]


on 2.7.6 version we also get these error from time to time, but when
application that uses these cacaheentryprocessors is restarted errors does
not occur. but on 2.10.0 version this solution did not solve our problem.

currently we have 23 different cacheentryprocessors runs on the system.
after many different test scenarios and checks we found a pattern on above
error case. only 4 out of 23 cacheentryprocessor keeps getting this error,
*3 of these are invoked by ExecutorServices*;

sample usage is somithing like the following;

private ExecutorService executorService = Executors.newCachedThreadPool();
....
executorService.submit(() -> { 
...
igniteCache.<String, BinaryObject>withKeepBinary()
                        .invoke(record.getKey(), new
RockScoreUpdateProcessor(),
                                "arg1", "arg2", "arg3");
});

*one cacheentryprocessor is invoked by XSync
(https://github.com/antkorwin/xsync) *


so what we see here, somehow when a cacheentryprocessor is invoked from a
runnable context classnotfoundexception is thrown.

*peerclassloading* property is set to true, *deploymentmode* is set to
SHARED and *persistenceEnabled* is set to true.


can this be a bug either known or unknown?


currently this is a blocker issue for us to upgrade on production
environment. any help is appriciated.

Thanks.




-----
İbrahim Halil Altun
Senior Software Engineer @ Segmentify
--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Reply via email to