[ https://issues.apache.org/jira/browse/IGNITE-19930?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mikhail Petrov updated IGNITE-19930: ------------------------------------ Description: Reproducer (does not consistently reproduce the problem, locally the following exception occurs in half of the test runs): {code:java} /** */ public class CacheWithNodeFilterTest extends GridCommonAbstractTest { /** */ @Test public void createCacheWithNodeFilterTest() throws Exception { IgniteEx ignite = startGrids(3); ignite.createCache(new CacheConfiguration<>(DEFAULT_CACHE_NAME).setNodeFilter(new TestNodeFilter())); grid(2).cache(DEFAULT_CACHE_NAME).put(0, 0); assertEquals(0, grid(0).cache(DEFAULT_CACHE_NAME).get(0)); } /** */ public static class TestNodeFilter implements IgnitePredicate<ClusterNode> { /** {@inheritDoc} */ @Override public boolean apply(ClusterNode e) { return e.id().toString().endsWith("1"); } } } {code} Exception: {code:java} [2023-07-06T22:51:24,212][ERROR][sys-stripe-0-#179%cache.CreateCacheWithNodeFilterTest2%][GridCacheIoManager] Failed processing message [senderId=b02639c3-1ac0-43d3-af3f-429019e00001, msg=GridNearAtomicUpdateResponse [nodeId=edb94847-7cc8-4c64-bcd2-d081ebe00002, futId=1, errs=null, ret=null, remapTopVer=AffinityTopologyVersion [topVer=3, minorTopVer=2], nearUpdates=null, partId=0, mapping=null, nodeLeft=false, super=GridCacheIdMessage [cacheId=1544803905, super=GridCacheMessage [msgId=25, depInfo=null, lastAffChangedTopVer=AffinityTopologyVersion [topVer=-1, minorTopVer=0], err=null, skipPrepare=false]]]] java.lang.AssertionError: null at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.onPrimaryResponse(GridNearAtomicSingleUpdateFuture.java:241) ~[classes/:?] at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.processNearAtomicUpdateResponse(GridDhtAtomicCache.java:3197) ~[classes/:?] at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.access$300(GridDhtAtomicCache.java:147) ~[classes/:?] at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$4.apply(GridDhtAtomicCache.java:290) ~[classes/:?] at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$4.apply(GridDhtAtomicCache.java:285) ~[classes/:?] at org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1164) [classes/:?] at org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:605) [classes/:?] at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:406) [classes/:?] at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:324) [classes/:?] at org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:112) [classes/:?] at org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:314) [classes/:?] at org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1907) [classes/:?] at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1528) [classes/:?] at org.apache.ignite.internal.managers.communication.GridIoManager.access$5300(GridIoManager.java:243) [classes/:?] at org.apache.ignite.internal.managers.communication.GridIoManager$9.execute(GridIoManager.java:1421) [classes/:?] at org.apache.ignite.internal.managers.communication.TraceRunnable.run(TraceRunnable.java:55) [classes/:?] at org.apache.ignite.internal.util.StripedExecutor$Stripe.body(StripedExecutor.java:637) [classes/:?] at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:125) [classes/:?] at java.lang.Thread.run(Thread.java:750) [?:1.8.0_351] [2023-07-06T22:51:24,218][ERROR][sys-stripe-0-#179%cache.CreateCacheWithNodeFilterTest2%][IgniteTestResources] Critical system error detected. Will be handled accordingly to configured handler [hnd=NoOpFailureHandler [super=AbstractFailureHandler [ignoredFailureTypes=UnmodifiableSet [SYSTEM_WORKER_BLOCKED, SYSTEM_CRITICAL_OPERATION_TIMEOUT]]], failureCtx=FailureContext [type=CRITICAL_ERROR, err=java.lang.AssertionError]] java.lang.AssertionError: null at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.onPrimaryResponse(GridNearAtomicSingleUpdateFuture.java:241) ~[classes/:?] at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.processNearAtomicUpdateResponse(GridDhtAtomicCache.java:3197) ~[classes/:?] at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.access$300(GridDhtAtomicCache.java:147) ~[classes/:?] at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$4.apply(GridDhtAtomicCache.java:290) ~[classes/:?] at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$4.apply(GridDhtAtomicCache.java:285) ~[classes/:?] at org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1164) [classes/:?] at org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:605) [classes/:?] at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:406) [classes/:?] at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:324) [classes/:?] at org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:112) [classes/:?] at org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:314) [classes/:?] at org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1907) [classes/:?] at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1528) [classes/:?] at org.apache.ignite.internal.managers.communication.GridIoManager.access$5300(GridIoManager.java:243) [classes/:?] at org.apache.ignite.internal.managers.communication.GridIoManager$9.execute(GridIoManager.java:1421) [classes/:?] at org.apache.ignite.internal.managers.communication.TraceRunnable.run(TraceRunnable.java:55) [classes/:?] at org.apache.ignite.internal.util.StripedExecutor$Stripe.body(StripedExecutor.java:637) [classes/:?] at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:125) [classes/:?] at java.lang.Thread.run(Thread.java:750) [?:1.8.0_351] {code} was: Reproducer (does not consistently reproduce the problem): {code:java} /** */ public class CacheWithNodeFilterTest extends GridCommonAbstractTest { /** */ @Test public void createCacheWithNodeFilterTest() throws Exception { IgniteEx ignite = startGrids(3); ignite.createCache(new CacheConfiguration<>(DEFAULT_CACHE_NAME).setNodeFilter(new TestNodeFilter())); grid(2).cache(DEFAULT_CACHE_NAME).put(0, 0); assertEquals(0, grid(0).cache(DEFAULT_CACHE_NAME).get(0)); } /** */ public static class TestNodeFilter implements IgnitePredicate<ClusterNode> { /** {@inheritDoc} */ @Override public boolean apply(ClusterNode e) { return e.id().toString().endsWith("1"); } } } {code} Exception: {code:java} [2023-07-06T22:51:24,212][ERROR][sys-stripe-0-#179%cache.CreateCacheWithNodeFilterTest2%][GridCacheIoManager] Failed processing message [senderId=b02639c3-1ac0-43d3-af3f-429019e00001, msg=GridNearAtomicUpdateResponse [nodeId=edb94847-7cc8-4c64-bcd2-d081ebe00002, futId=1, errs=null, ret=null, remapTopVer=AffinityTopologyVersion [topVer=3, minorTopVer=2], nearUpdates=null, partId=0, mapping=null, nodeLeft=false, super=GridCacheIdMessage [cacheId=1544803905, super=GridCacheMessage [msgId=25, depInfo=null, lastAffChangedTopVer=AffinityTopologyVersion [topVer=-1, minorTopVer=0], err=null, skipPrepare=false]]]] java.lang.AssertionError: null at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.onPrimaryResponse(GridNearAtomicSingleUpdateFuture.java:241) ~[classes/:?] at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.processNearAtomicUpdateResponse(GridDhtAtomicCache.java:3197) ~[classes/:?] at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.access$300(GridDhtAtomicCache.java:147) ~[classes/:?] at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$4.apply(GridDhtAtomicCache.java:290) ~[classes/:?] at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$4.apply(GridDhtAtomicCache.java:285) ~[classes/:?] at org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1164) [classes/:?] at org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:605) [classes/:?] at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:406) [classes/:?] at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:324) [classes/:?] at org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:112) [classes/:?] at org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:314) [classes/:?] at org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1907) [classes/:?] at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1528) [classes/:?] at org.apache.ignite.internal.managers.communication.GridIoManager.access$5300(GridIoManager.java:243) [classes/:?] at org.apache.ignite.internal.managers.communication.GridIoManager$9.execute(GridIoManager.java:1421) [classes/:?] at org.apache.ignite.internal.managers.communication.TraceRunnable.run(TraceRunnable.java:55) [classes/:?] at org.apache.ignite.internal.util.StripedExecutor$Stripe.body(StripedExecutor.java:637) [classes/:?] at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:125) [classes/:?] at java.lang.Thread.run(Thread.java:750) [?:1.8.0_351] [2023-07-06T22:51:24,218][ERROR][sys-stripe-0-#179%cache.CreateCacheWithNodeFilterTest2%][IgniteTestResources] Critical system error detected. Will be handled accordingly to configured handler [hnd=NoOpFailureHandler [super=AbstractFailureHandler [ignoredFailureTypes=UnmodifiableSet [SYSTEM_WORKER_BLOCKED, SYSTEM_CRITICAL_OPERATION_TIMEOUT]]], failureCtx=FailureContext [type=CRITICAL_ERROR, err=java.lang.AssertionError]] java.lang.AssertionError: null at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.onPrimaryResponse(GridNearAtomicSingleUpdateFuture.java:241) ~[classes/:?] at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.processNearAtomicUpdateResponse(GridDhtAtomicCache.java:3197) ~[classes/:?] at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.access$300(GridDhtAtomicCache.java:147) ~[classes/:?] at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$4.apply(GridDhtAtomicCache.java:290) ~[classes/:?] at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$4.apply(GridDhtAtomicCache.java:285) ~[classes/:?] at org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1164) [classes/:?] at org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:605) [classes/:?] at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:406) [classes/:?] at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:324) [classes/:?] at org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:112) [classes/:?] at org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:314) [classes/:?] at org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1907) [classes/:?] at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1528) [classes/:?] at org.apache.ignite.internal.managers.communication.GridIoManager.access$5300(GridIoManager.java:243) [classes/:?] at org.apache.ignite.internal.managers.communication.GridIoManager$9.execute(GridIoManager.java:1421) [classes/:?] at org.apache.ignite.internal.managers.communication.TraceRunnable.run(TraceRunnable.java:55) [classes/:?] at org.apache.ignite.internal.util.StripedExecutor$Stripe.body(StripedExecutor.java:637) [classes/:?] at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:125) [classes/:?] at java.lang.Thread.run(Thread.java:750) [?:1.8.0_351] {code} > Node fails with assertion error when cache with node filter is updated. > ------------------------------------------------------------------------ > > Key: IGNITE-19930 > URL: https://issues.apache.org/jira/browse/IGNITE-19930 > Project: Ignite > Issue Type: Bug > Reporter: Mikhail Petrov > Priority: Major > > Reproducer (does not consistently reproduce the problem, locally the > following exception occurs in half of the test runs): > {code:java} > /** */ > public class CacheWithNodeFilterTest extends GridCommonAbstractTest { > /** */ > @Test > public void createCacheWithNodeFilterTest() throws Exception { > IgniteEx ignite = startGrids(3); ignite.createCache(new > CacheConfiguration<>(DEFAULT_CACHE_NAME).setNodeFilter(new > TestNodeFilter())); grid(2).cache(DEFAULT_CACHE_NAME).put(0, 0); > assertEquals(0, grid(0).cache(DEFAULT_CACHE_NAME).get(0)); > } /** */ > public static class TestNodeFilter implements > IgnitePredicate<ClusterNode> { > /** {@inheritDoc} */ > @Override public boolean apply(ClusterNode e) { > return e.id().toString().endsWith("1"); > } > } > } {code} > Exception: > {code:java} > [2023-07-06T22:51:24,212][ERROR][sys-stripe-0-#179%cache.CreateCacheWithNodeFilterTest2%][GridCacheIoManager] > Failed processing message [senderId=b02639c3-1ac0-43d3-af3f-429019e00001, > msg=GridNearAtomicUpdateResponse > [nodeId=edb94847-7cc8-4c64-bcd2-d081ebe00002, futId=1, errs=null, ret=null, > remapTopVer=AffinityTopologyVersion [topVer=3, minorTopVer=2], > nearUpdates=null, partId=0, mapping=null, nodeLeft=false, > super=GridCacheIdMessage [cacheId=1544803905, super=GridCacheMessage > [msgId=25, depInfo=null, lastAffChangedTopVer=AffinityTopologyVersion > [topVer=-1, minorTopVer=0], err=null, skipPrepare=false]]]] > java.lang.AssertionError: null > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.onPrimaryResponse(GridNearAtomicSingleUpdateFuture.java:241) > ~[classes/:?] > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.processNearAtomicUpdateResponse(GridDhtAtomicCache.java:3197) > ~[classes/:?] > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.access$300(GridDhtAtomicCache.java:147) > ~[classes/:?] > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$4.apply(GridDhtAtomicCache.java:290) > ~[classes/:?] > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$4.apply(GridDhtAtomicCache.java:285) > ~[classes/:?] > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1164) > [classes/:?] > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:605) > [classes/:?] > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:406) > [classes/:?] > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:324) > [classes/:?] > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:112) > [classes/:?] > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:314) > [classes/:?] > at > org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1907) > [classes/:?] > at > org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1528) > [classes/:?] > at > org.apache.ignite.internal.managers.communication.GridIoManager.access$5300(GridIoManager.java:243) > [classes/:?] > at > org.apache.ignite.internal.managers.communication.GridIoManager$9.execute(GridIoManager.java:1421) > [classes/:?] > at > org.apache.ignite.internal.managers.communication.TraceRunnable.run(TraceRunnable.java:55) > [classes/:?] > at > org.apache.ignite.internal.util.StripedExecutor$Stripe.body(StripedExecutor.java:637) > [classes/:?] > at > org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:125) > [classes/:?] > at java.lang.Thread.run(Thread.java:750) [?:1.8.0_351] > [2023-07-06T22:51:24,218][ERROR][sys-stripe-0-#179%cache.CreateCacheWithNodeFilterTest2%][IgniteTestResources] > Critical system error detected. Will be handled accordingly to configured > handler [hnd=NoOpFailureHandler [super=AbstractFailureHandler > [ignoredFailureTypes=UnmodifiableSet [SYSTEM_WORKER_BLOCKED, > SYSTEM_CRITICAL_OPERATION_TIMEOUT]]], failureCtx=FailureContext > [type=CRITICAL_ERROR, err=java.lang.AssertionError]] > java.lang.AssertionError: null > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.onPrimaryResponse(GridNearAtomicSingleUpdateFuture.java:241) > ~[classes/:?] > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.processNearAtomicUpdateResponse(GridDhtAtomicCache.java:3197) > ~[classes/:?] > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.access$300(GridDhtAtomicCache.java:147) > ~[classes/:?] > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$4.apply(GridDhtAtomicCache.java:290) > ~[classes/:?] > at > org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$4.apply(GridDhtAtomicCache.java:285) > ~[classes/:?] > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1164) > [classes/:?] > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:605) > [classes/:?] > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:406) > [classes/:?] > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:324) > [classes/:?] > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:112) > [classes/:?] > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:314) > [classes/:?] > at > org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1907) > [classes/:?] > at > org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1528) > [classes/:?] > at > org.apache.ignite.internal.managers.communication.GridIoManager.access$5300(GridIoManager.java:243) > [classes/:?] > at > org.apache.ignite.internal.managers.communication.GridIoManager$9.execute(GridIoManager.java:1421) > [classes/:?] > at > org.apache.ignite.internal.managers.communication.TraceRunnable.run(TraceRunnable.java:55) > [classes/:?] > at > org.apache.ignite.internal.util.StripedExecutor$Stripe.body(StripedExecutor.java:637) > [classes/:?] > at > org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:125) > [classes/:?] > at java.lang.Thread.run(Thread.java:750) [?:1.8.0_351] {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)