Skip to content

Commit dd502d4

Browse files
add test that reveals problem
1 parent bcd2fc6 commit dd502d4

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

modules/control-utility/src/test/java/org/apache/ignite/util/GridCommandHandlerWalTest.java

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,11 @@
1717

1818
package org.apache.ignite.util;
1919

20+
import java.util.Arrays;
2021
import java.util.Objects;
2122
import java.util.regex.Pattern;
2223
import org.apache.ignite.cluster.ClusterState;
24+
import org.apache.ignite.configuration.CacheConfiguration;
2325
import org.apache.ignite.configuration.DataRegionConfiguration;
2426
import org.apache.ignite.configuration.DataStorageConfiguration;
2527
import org.apache.ignite.configuration.IgniteConfiguration;
@@ -171,6 +173,45 @@ public void testWalStateInMemoryCdcCluster() throws Exception {
171173
assertFalse(testOut.toString().contains("cache3"));
172174
}
173175

176+
/**
177+
* Test WAL mode change for a cache group contains multiple caches.
178+
* @throws Exception If failed.
179+
*/
180+
@Test
181+
public void testWalChangeForMultiCacheGroup() throws Exception {
182+
clusterState = 0; // PDS cluster.
183+
184+
IgniteEx srv = startGrids(2);
185+
srv.cluster().state(ClusterState.ACTIVE);
186+
187+
srv.createCache(new CacheConfiguration("cache1")
188+
.setGroupName("testGroup"));
189+
srv.createCache(new CacheConfiguration("cache2")
190+
.setGroupName("testGroup"));
191+
192+
assertEquals(EXIT_CODE_OK, execute("--wal", "state", "--groups", "testGroup"));
193+
outputContains(".*testGroup.*true.*true.*true.*true.*false");
194+
195+
// disableWal fails, but EXIT_CODE_OK
196+
assertEquals(EXIT_CODE_OK, execute("--wal", "disable", "--groups", "testGroup"));
197+
198+
// WAL is still enabled
199+
assertEquals(EXIT_CODE_OK, execute("--wal", "state", "--groups", "testGroup"));
200+
outputContains(".*testGroup.*true.*true.*true.*true.*false");
201+
202+
srv.cluster().disableWal(Arrays.asList("cache1", "cache2"));
203+
204+
assertEquals(EXIT_CODE_OK, execute("--wal", "state", "--groups", "testGroup"));
205+
outputContains(".*testGroup.*true.*false.*true.*true.*false");
206+
207+
// enableWal fails
208+
assertEquals(EXIT_CODE_OK, execute("--wal", "disable", "--groups", "testGroup"));
209+
210+
// WAL is still disabled
211+
assertEquals(EXIT_CODE_OK, execute("--wal", "state", "--groups", "testGroup"));
212+
outputContains(".*testGroup.*true.*false.*true.*true.*false");
213+
}
214+
174215
/** */
175216
private void outputContains(String regexp) {
176217
assertTrue(Pattern.compile(regexp).matcher(testOut.toString()).find());

0 commit comments

Comments
 (0)