You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Pavel Pereslegin (Jira)" <ji...@apache.org> on 2021/01/23 18:47:00 UTC
[jira] [Created] (IGNITE-14044) Cache with node filter is not
destroyed properly on the filtered node.
Pavel Pereslegin created IGNITE-14044:
-----------------------------------------
Summary: Cache with node filter is not destroyed properly on the filtered node.
Key: IGNITE-14044
URL: https://issues.apache.org/jira/browse/IGNITE-14044
Project: Ignite
Issue Type: Bug
Reporter: Pavel Pereslegin
Steps to reproduce the problem:
# Start 2 nodes
# Create a cache with node filter (filter second node)
# Destroy cache
# Restart nodes
Expected: cache was destroyed on both nodes.
Actual: cache was destroyed only on one node, the second node cannot join the cluster with the following error:
{noformat}
Caused by: class org.apache.ignite.spi.IgniteSpiException: Joining node has caches with data which are not presented on cluster, it could mean that they were already destroyed, to add the node to cluster - remove directories with the caches[cache1]
at org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.checkFailedError(TcpDiscoverySpi.java:2052)
at org.apache.ignite.spi.discovery.tcp.ServerImpl.joinTopology(ServerImpl.java:1197)
at org.apache.ignite.spi.discovery.tcp.ServerImpl.spiStart(ServerImpl.java:472)
at org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.spiStart(TcpDiscoverySpi.java:2154)
at org.apache.ignite.internal.managers.GridManagerAdapter.startSpi(GridManagerAdapter.java:278)
... 23 more
{noformat}
Reproducer
{code:java}
public class IgnitePdsDestroyCacheWithNodeFilterTest extends GridCommonAbstractTest {
@Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception {
return super.getConfiguration(igniteInstanceName)
.setConsistentId(igniteInstanceName)
.setDataStorageConfiguration(new DataStorageConfiguration()
.setDefaultDataRegionConfiguration(new DataRegionConfiguration()
.setPersistenceEnabled(true)));
}
@Test
public void testDestroyCacheWithNodeFilter() throws Exception {
cleanPersistenceDir();
Ignite ignite = startGrids(2);
ignite.cluster().state(ClusterState.ACTIVE);
UUID nodeId0 = ignite.cluster().localNode().id();
CacheConfiguration<Object, Object> cfg1 = new CacheConfiguration<>("cache1")
.setCacheMode(CacheMode.REPLICATED)
.setNodeFilter(n -> nodeId0.equals(n.id()));
IgniteCache<?, ?> cache1 = ignite.createCache(cfg1);
cache1.destroy();
forceCheckpoint();
awaitPartitionMapExchange();
stopAllGrids();
ignite = startGrids(2); // failing here
ignite.cluster().state(ClusterState.ACTIVE);
}
}
{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)