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/09/01 13:54:00 UTC
[jira] [Updated] (IGNITE-14044) Cache with node filter is not
destroyed properly on the filtered node.
[ https://issues.apache.org/jira/browse/IGNITE-14044?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Pavel Pereslegin updated IGNITE-14044:
--------------------------------------
Ignite Flags: Release Notes Required (was: Docs Required,Release Notes Required)
> 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
> Affects Versions: 2.10
> Reporter: Pavel Pereslegin
> Priority: Major
> Time Spent: 10m
> Remaining Estimate: 0h
>
> 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)