|
17 | 17 |
|
18 | 18 | package org.apache.ignite.util; |
19 | 19 |
|
| 20 | +import java.util.Arrays; |
20 | 21 | import java.util.Objects; |
21 | 22 | import java.util.regex.Pattern; |
22 | 23 | import org.apache.ignite.cluster.ClusterState; |
| 24 | +import org.apache.ignite.configuration.CacheConfiguration; |
23 | 25 | import org.apache.ignite.configuration.DataRegionConfiguration; |
24 | 26 | import org.apache.ignite.configuration.DataStorageConfiguration; |
25 | 27 | import org.apache.ignite.configuration.IgniteConfiguration; |
@@ -171,6 +173,45 @@ public void testWalStateInMemoryCdcCluster() throws Exception { |
171 | 173 | assertFalse(testOut.toString().contains("cache3")); |
172 | 174 | } |
173 | 175 |
|
| 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 | + |
174 | 215 | /** */ |
175 | 216 | private void outputContains(String regexp) { |
176 | 217 | assertTrue(Pattern.compile(regexp).matcher(testOut.toString()).find()); |
|
0 commit comments