Skip to content

Commit 8078434

Browse files
authored
IGNITE-28275 Split long running suites to achieve 30 min per suite run (#12904)
1 parent 09857d4 commit 8078434

21 files changed

Lines changed: 787 additions & 263 deletions
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/*
2+
* Licensed to the Apache Software Foundation (ASF) under one or more
3+
* contributor license agreements. See the NOTICE file distributed with
4+
* this work for additional information regarding copyright ownership.
5+
* The ASF licenses this file to You under the Apache License, Version 2.0
6+
* (the "License"); you may not use this file except in compliance with
7+
* the License. You may obtain a copy of the License at
8+
*
9+
* http://www.apache.org/licenses/LICENSE-2.0
10+
*
11+
* Unless required by applicable law or agreed to in writing, software
12+
* distributed under the License is distributed on an "AS IS" BASIS,
13+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
* See the License for the specific language governing permissions and
15+
* limitations under the License.
16+
*/
17+
18+
package org.apache.ignite.testsuites;
19+
20+
import static org.apache.ignite.IgniteSystemProperties.IGNITE_DEFAULT_DATA_STORAGE_PAGE_SIZE;
21+
import static org.apache.ignite.IgniteSystemProperties.IGNITE_DEFAULT_DISK_PAGE_COMPRESSION;
22+
import static org.apache.ignite.configuration.DiskPageCompression.ZSTD;
23+
24+
/** Abstract class for Ignite PDS compression test suites. */
25+
public class AbstractIgnitePdsCompressionTestSuite {
26+
/** */
27+
static void enableCompressionByDefault() {
28+
System.setProperty(IGNITE_DEFAULT_DISK_PAGE_COMPRESSION, ZSTD.name());
29+
System.setProperty(IGNITE_DEFAULT_DATA_STORAGE_PAGE_SIZE, String.valueOf(8 * 1024));
30+
}
31+
}

modules/compress/src/test/java/org/apache/ignite/testsuites/IgnitePdsCompressionTestSuite.java

Lines changed: 2 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -18,74 +18,22 @@
1818
package org.apache.ignite.testsuites;
1919

2020
import java.util.ArrayList;
21-
import java.util.Arrays;
2221
import java.util.List;
23-
import org.apache.ignite.internal.processors.cache.persistence.db.IgnitePdsCheckpointRecoveryWithCompressionTest;
24-
import org.apache.ignite.internal.processors.cache.persistence.db.wal.IgnitePdsCheckpointSimulationWithRealCpDisabledAndWalCompressionTest;
25-
import org.apache.ignite.internal.processors.cache.persistence.db.wal.WalCompactionAndPageCompressionTest;
26-
import org.apache.ignite.internal.processors.cache.persistence.db.wal.WalRecoveryWithPageCompressionAndTdeTest;
27-
import org.apache.ignite.internal.processors.cache.persistence.db.wal.WalRecoveryWithPageCompressionTest;
28-
import org.apache.ignite.internal.processors.cache.persistence.snapshot.EncryptedSnapshotTest;
29-
import org.apache.ignite.internal.processors.cache.persistence.snapshot.PlainSnapshotTest;
30-
import org.apache.ignite.internal.processors.cache.persistence.snapshot.SnapshotCompressionBasicTest;
31-
import org.apache.ignite.internal.processors.compress.CompressionConfigurationTest;
32-
import org.apache.ignite.internal.processors.compress.CompressionProcessorTest;
33-
import org.apache.ignite.internal.processors.compress.DiskPageCompressionConfigValidationTest;
34-
import org.apache.ignite.internal.processors.compress.DiskPageCompressionIntegrationAsyncTest;
35-
import org.apache.ignite.internal.processors.compress.DiskPageCompressionIntegrationTest;
36-
import org.apache.ignite.internal.processors.compress.FileSystemUtilsTest;
37-
import org.apache.ignite.internal.processors.compress.WalPageCompressionIntegrationTest;
3822
import org.apache.ignite.testframework.junits.DynamicSuite;
3923
import org.junit.runner.RunWith;
4024

41-
import static org.apache.ignite.IgniteSystemProperties.IGNITE_DEFAULT_DATA_STORAGE_PAGE_SIZE;
42-
import static org.apache.ignite.IgniteSystemProperties.IGNITE_DEFAULT_DISK_PAGE_COMPRESSION;
43-
import static org.apache.ignite.configuration.DiskPageCompression.ZSTD;
44-
4525
/** */
4626
@RunWith(DynamicSuite.class)
47-
public class IgnitePdsCompressionTestSuite {
27+
public class IgnitePdsCompressionTestSuite extends AbstractIgnitePdsCompressionTestSuite {
4828
/**
4929
* @return Suite.
5030
*/
5131
public static List<Class<?>> suite() {
5232
List<Class<?>> suite = new ArrayList<>();
5333

54-
suite.add(CompressionConfigurationTest.class);
55-
suite.add(CompressionProcessorTest.class);
56-
suite.add(FileSystemUtilsTest.class);
57-
suite.add(DiskPageCompressionIntegrationTest.class);
58-
suite.add(DiskPageCompressionConfigValidationTest.class);
59-
suite.add(DiskPageCompressionIntegrationAsyncTest.class);
60-
61-
// WAL page records compression.
62-
suite.add(WalPageCompressionIntegrationTest.class);
63-
suite.add(WalRecoveryWithPageCompressionTest.class);
64-
suite.add(WalRecoveryWithPageCompressionAndTdeTest.class);
65-
suite.add(IgnitePdsCheckpointSimulationWithRealCpDisabledAndWalCompressionTest.class);
66-
suite.add(WalCompactionAndPageCompressionTest.class);
67-
68-
// Checkpoint recovery.
69-
suite.add(IgnitePdsCheckpointRecoveryWithCompressionTest.class);
70-
71-
// Snapshots.
72-
suite.add(SnapshotCompressionBasicTest.class);
73-
74-
//Snapshot tests from common suites.
7534
enableCompressionByDefault();
76-
IgniteSnapshotTestSuite.addSnapshotTests(suite, Arrays.asList(PlainSnapshotTest.class, EncryptedSnapshotTest.class));
77-
IgniteSnapshotWithIndexingTestSuite.addSnapshotTests(suite, null);
78-
79-
// PDS test suite with compression.
80-
IgnitePdsTestSuite.addRealPageStoreTests(suite, null);
35+
IgniteSnapshotTestSuite.addSnapshotTests(suite, null);
8136

8237
return suite;
8338
}
84-
85-
/**
86-
*/
87-
static void enableCompressionByDefault() {
88-
System.setProperty(IGNITE_DEFAULT_DISK_PAGE_COMPRESSION, ZSTD.name());
89-
System.setProperty(IGNITE_DEFAULT_DATA_STORAGE_PAGE_SIZE, String.valueOf(8 * 1024));
90-
}
9139
}

modules/compress/src/test/java/org/apache/ignite/testsuites/IgnitePdsCompressionTestSuite2.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,9 @@
2222
import org.apache.ignite.testframework.junits.DynamicSuite;
2323
import org.junit.runner.RunWith;
2424

25-
import static org.apache.ignite.testsuites.IgnitePdsCompressionTestSuite.enableCompressionByDefault;
26-
2725
/** */
2826
@RunWith(DynamicSuite.class)
29-
public class IgnitePdsCompressionTestSuite2 {
27+
public class IgnitePdsCompressionTestSuite2 extends AbstractIgnitePdsCompressionTestSuite {
3028
/**
3129
* @return Suite.
3230
*/
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
/*
2+
* Licensed to the Apache Software Foundation (ASF) under one or more
3+
* contributor license agreements. See the NOTICE file distributed with
4+
* this work for additional information regarding copyright ownership.
5+
* The ASF licenses this file to You under the Apache License, Version 2.0
6+
* (the "License"); you may not use this file except in compliance with
7+
* the License. You may obtain a copy of the License at
8+
*
9+
* http://www.apache.org/licenses/LICENSE-2.0
10+
*
11+
* Unless required by applicable law or agreed to in writing, software
12+
* distributed under the License is distributed on an "AS IS" BASIS,
13+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
* See the License for the specific language governing permissions and
15+
* limitations under the License.
16+
*/
17+
18+
package org.apache.ignite.testsuites;
19+
20+
import java.util.ArrayList;
21+
import java.util.List;
22+
import org.apache.ignite.testframework.junits.DynamicSuite;
23+
import org.junit.runner.RunWith;
24+
25+
/** */
26+
@RunWith(DynamicSuite.class)
27+
public class IgnitePdsCompressionTestSuite3 extends AbstractIgnitePdsCompressionTestSuite {
28+
/**
29+
* @return Suite.
30+
*/
31+
public static List<Class<?>> suite() {
32+
List<Class<?>> suite = new ArrayList<>();
33+
34+
enableCompressionByDefault();
35+
IgnitePdsTestSuite.addRealPageStoreTests(suite, null);
36+
37+
return suite;
38+
}
39+
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
/*
2+
* Licensed to the Apache Software Foundation (ASF) under one or more
3+
* contributor license agreements. See the NOTICE file distributed with
4+
* this work for additional information regarding copyright ownership.
5+
* The ASF licenses this file to You under the Apache License, Version 2.0
6+
* (the "License"); you may not use this file except in compliance with
7+
* the License. You may obtain a copy of the License at
8+
*
9+
* http://www.apache.org/licenses/LICENSE-2.0
10+
*
11+
* Unless required by applicable law or agreed to in writing, software
12+
* distributed under the License is distributed on an "AS IS" BASIS,
13+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
* See the License for the specific language governing permissions and
15+
* limitations under the License.
16+
*/
17+
18+
package org.apache.ignite.testsuites;
19+
20+
import java.util.ArrayList;
21+
import java.util.List;
22+
import org.apache.ignite.testframework.junits.DynamicSuite;
23+
import org.junit.runner.RunWith;
24+
25+
/** */
26+
@RunWith(DynamicSuite.class)
27+
public class IgnitePdsCompressionTestSuite4 extends AbstractIgnitePdsCompressionTestSuite {
28+
/**
29+
* @return Suite.
30+
*/
31+
public static List<Class<?>> suite() {
32+
List<Class<?>> suite = new ArrayList<>();
33+
34+
enableCompressionByDefault();
35+
IgniteSnapshotTestSuite2.addSnapshotTests2(suite, null);
36+
37+
return suite;
38+
}
39+
}
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
/*
2+
* Licensed to the Apache Software Foundation (ASF) under one or more
3+
* contributor license agreements. See the NOTICE file distributed with
4+
* this work for additional information regarding copyright ownership.
5+
* The ASF licenses this file to You under the Apache License, Version 2.0
6+
* (the "License"); you may not use this file except in compliance with
7+
* the License. You may obtain a copy of the License at
8+
*
9+
* http://www.apache.org/licenses/LICENSE-2.0
10+
*
11+
* Unless required by applicable law or agreed to in writing, software
12+
* distributed under the License is distributed on an "AS IS" BASIS,
13+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
* See the License for the specific language governing permissions and
15+
* limitations under the License.
16+
*/
17+
18+
package org.apache.ignite.testsuites;
19+
20+
import java.util.ArrayList;
21+
import java.util.List;
22+
import org.apache.ignite.internal.processors.cache.persistence.db.IgnitePdsCheckpointRecoveryWithCompressionTest;
23+
import org.apache.ignite.internal.processors.compress.CompressionConfigurationTest;
24+
import org.apache.ignite.internal.processors.compress.CompressionProcessorTest;
25+
import org.apache.ignite.internal.processors.compress.DiskPageCompressionIntegrationAsyncTest;
26+
import org.apache.ignite.internal.processors.compress.FileSystemUtilsTest;
27+
import org.apache.ignite.testframework.junits.DynamicSuite;
28+
import org.junit.runner.RunWith;
29+
30+
/** */
31+
@RunWith(DynamicSuite.class)
32+
public class IgnitePdsCompressionTestSuite5 extends AbstractIgnitePdsCompressionTestSuite {
33+
/**
34+
* @return Suite.
35+
*/
36+
public static List<Class<?>> suite() {
37+
List<Class<?>> suite = new ArrayList<>();
38+
39+
suite.add(CompressionConfigurationTest.class);
40+
suite.add(CompressionProcessorTest.class);
41+
suite.add(FileSystemUtilsTest.class);
42+
suite.add(DiskPageCompressionIntegrationAsyncTest.class);
43+
44+
suite.add(IgnitePdsCheckpointRecoveryWithCompressionTest.class);
45+
46+
enableCompressionByDefault();
47+
IgniteSnapshotTestSuite2.addSnapshotTests1(suite, null);
48+
49+
return suite;
50+
}
51+
}
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
/*
2+
* Licensed to the Apache Software Foundation (ASF) under one or more
3+
* contributor license agreements. See the NOTICE file distributed with
4+
* this work for additional information regarding copyright ownership.
5+
* The ASF licenses this file to You under the Apache License, Version 2.0
6+
* (the "License"); you may not use this file except in compliance with
7+
* the License. You may obtain a copy of the License at
8+
*
9+
* http://www.apache.org/licenses/LICENSE-2.0
10+
*
11+
* Unless required by applicable law or agreed to in writing, software
12+
* distributed under the License is distributed on an "AS IS" BASIS,
13+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
* See the License for the specific language governing permissions and
15+
* limitations under the License.
16+
*/
17+
18+
package org.apache.ignite.testsuites;
19+
20+
import java.util.ArrayList;
21+
import java.util.List;
22+
import org.apache.ignite.internal.processors.cache.persistence.db.wal.IgnitePdsCheckpointSimulationWithRealCpDisabledAndWalCompressionTest;
23+
import org.apache.ignite.internal.processors.cache.persistence.db.wal.WalCompactionAndPageCompressionTest;
24+
import org.apache.ignite.internal.processors.cache.persistence.db.wal.WalRecoveryWithPageCompressionAndTdeTest;
25+
import org.apache.ignite.internal.processors.cache.persistence.db.wal.WalRecoveryWithPageCompressionTest;
26+
import org.apache.ignite.internal.processors.cache.persistence.snapshot.SnapshotCompressionBasicTest;
27+
import org.apache.ignite.internal.processors.compress.DiskPageCompressionConfigValidationTest;
28+
import org.apache.ignite.internal.processors.compress.DiskPageCompressionIntegrationTest;
29+
import org.apache.ignite.internal.processors.compress.WalPageCompressionIntegrationTest;
30+
import org.apache.ignite.testframework.junits.DynamicSuite;
31+
import org.junit.runner.RunWith;
32+
33+
/** */
34+
@RunWith(DynamicSuite.class)
35+
public class IgnitePdsCompressionTestSuite6 extends AbstractIgnitePdsCompressionTestSuite {
36+
/**
37+
* @return Suite.
38+
*/
39+
public static List<Class<?>> suite() {
40+
List<Class<?>> suite = new ArrayList<>();
41+
42+
suite.add(DiskPageCompressionIntegrationTest.class);
43+
suite.add(DiskPageCompressionConfigValidationTest.class);
44+
45+
suite.add(WalPageCompressionIntegrationTest.class);
46+
suite.add(WalRecoveryWithPageCompressionTest.class);
47+
suite.add(WalRecoveryWithPageCompressionAndTdeTest.class);
48+
suite.add(IgnitePdsCheckpointSimulationWithRealCpDisabledAndWalCompressionTest.class);
49+
suite.add(WalCompactionAndPageCompressionTest.class);
50+
51+
suite.add(SnapshotCompressionBasicTest.class);
52+
53+
enableCompressionByDefault();
54+
IgniteSnapshotWithIndexingTestSuite.addSnapshotTests(suite, null);
55+
56+
return suite;
57+
}
58+
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
/*
2+
* Licensed to the Apache Software Foundation (ASF) under one or more
3+
* contributor license agreements. See the NOTICE file distributed with
4+
* this work for additional information regarding copyright ownership.
5+
* The ASF licenses this file to You under the Apache License, Version 2.0
6+
* (the "License"); you may not use this file except in compliance with
7+
* the License. You may obtain a copy of the License at
8+
*
9+
* http://www.apache.org/licenses/LICENSE-2.0
10+
*
11+
* Unless required by applicable law or agreed to in writing, software
12+
* distributed under the License is distributed on an "AS IS" BASIS,
13+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
* See the License for the specific language governing permissions and
15+
* limitations under the License.
16+
*/
17+
18+
package org.apache.ignite.testsuites;
19+
20+
import java.util.ArrayList;
21+
import java.util.List;
22+
import org.apache.ignite.testframework.junits.DynamicSuite;
23+
import org.junit.runner.RunWith;
24+
25+
/** */
26+
@RunWith(DynamicSuite.class)
27+
public class IgnitePdsCompressionTestSuite7 extends AbstractIgnitePdsCompressionTestSuite {
28+
/**
29+
* @return Suite.
30+
*/
31+
public static List<Class<?>> suite() {
32+
List<Class<?>> suite = new ArrayList<>();
33+
34+
enableCompressionByDefault();
35+
IgnitePdsTestSuite9.addRealPageStoreTests(suite, null);
36+
37+
return suite;
38+
}
39+
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
/*
2+
* Licensed to the Apache Software Foundation (ASF) under one or more
3+
* contributor license agreements. See the NOTICE file distributed with
4+
* this work for additional information regarding copyright ownership.
5+
* The ASF licenses this file to You under the Apache License, Version 2.0
6+
* (the "License"); you may not use this file except in compliance with
7+
* the License. You may obtain a copy of the License at
8+
*
9+
* http://www.apache.org/licenses/LICENSE-2.0
10+
*
11+
* Unless required by applicable law or agreed to in writing, software
12+
* distributed under the License is distributed on an "AS IS" BASIS,
13+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
* See the License for the specific language governing permissions and
15+
* limitations under the License.
16+
*/
17+
18+
package org.apache.ignite.testsuites;
19+
20+
import java.util.ArrayList;
21+
import java.util.List;
22+
import org.apache.ignite.testframework.junits.DynamicSuite;
23+
import org.junit.runner.RunWith;
24+
25+
/** */
26+
@RunWith(DynamicSuite.class)
27+
public class IgnitePdsCompressionTestSuite8 extends AbstractIgnitePdsCompressionTestSuite {
28+
/**
29+
* @return Suite.
30+
*/
31+
public static List<Class<?>> suite() {
32+
List<Class<?>> suite = new ArrayList<>();
33+
34+
enableCompressionByDefault();
35+
IgnitePdsTestSuite10.addRealPageStoreTests(suite, null);
36+
37+
return suite;
38+
}
39+
}

0 commit comments

Comments
 (0)