Denis Garus created IGNITE-13010: ------------------------------------ Summary: A local listener for cache events with type EVT_CACHE_STOPPED does not get a cache event from a remote node. Key: IGNITE-13010 URL: https://issues.apache.org/jira/browse/IGNITE-13010 Project: Ignite Issue Type: Bug Affects Versions: 2.8 Reporter: Denis Garus
A local listener for cache events with type EVT_CACHE_STOPPED does not get a cache event from a remote node. That occurs due to NPE on a remote node: {code:java} [2020-05-14 12:07:25,623][ERROR][sys-#206%security.NpeGridEventConsumeHandlerReproducer2%][GridEventConsumeHandler] Failed to send event notification to node: 55671ec1-dad9-452b-8ab2-4b7916c00000[2020-05-14 12:07:25,623][ERROR][sys-#206%security.NpeGridEventConsumeHandlerReproducer2%][GridEventConsumeHandler] Failed to send event notification to node: 55671ec1-dad9-452b-8ab2-4b7916c00000java.lang.NullPointerException at org.apache.ignite.internal.GridEventConsumeHandler$2$1.run(GridEventConsumeHandler.java:238) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834) {code} The reproducer: {code:java} public class NpeGridEventConsumeHandlerReproducer extends GridCommonAbstractTest { private static AtomicInteger rmtCounter = new AtomicInteger(); private static AtomicInteger locCounter = new AtomicInteger(); @Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception { return super.getConfiguration(igniteInstanceName).setIncludeEventTypes(EVT_CACHE_STOPPED); } @Test public void test() throws Exception { startGrids(3); grid(1).createCache(new CacheConfiguration<>("test_cache")); grid(0).events().remoteListen((uuid, evt) ->{ locCounter.incrementAndGet(); return true; }, evt->{ rmtCounter.incrementAndGet(); return true; }, EVT_CACHE_STOPPED); grid(1).destroyCache("test_cache"); TimeUnit.SECONDS.sleep(10); assertEquals(rmtCounter.get(), locCounter.get()); } } {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)