You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Denis Garus (Jira)" <ji...@apache.org> on 2020/05/14 09:21:00 UTC
[jira] [Created] (IGNITE-13010) A local listener for cache events
with type EVT_CACHE_STOPPED does not get a cache event from a remote node.
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)