You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by il...@apache.org on 2020/05/26 07:54:10 UTC
[ignite] branch master updated: IGNITE-13061 Prohibit setting
DataStorageConfiguration#walSegments less than 2 - Fixes #7836.
This is an automated email from the ASF dual-hosted git repository.
ilyak pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git
The following commit(s) were added to refs/heads/master by this push:
new 58dc6f3 IGNITE-13061 Prohibit setting DataStorageConfiguration#walSegments less than 2 - Fixes #7836.
58dc6f3 is described below
commit 58dc6f322bfefc199c62c3dd14b429f6de22016c
Author: Semyon Danilov <sa...@yandex.ru>
AuthorDate: Tue May 26 10:53:08 2020 +0300
IGNITE-13061 Prohibit setting DataStorageConfiguration#walSegments less than 2 - Fixes #7836.
Signed-off-by: Ilya Kasnacheev <il...@gmail.com>
---
.../ignite/configuration/DataStorageConfiguration.java | 5 ++++-
.../cache/DataStorageConfigurationValidationTest.java | 17 +++++++++++++++++
2 files changed, 21 insertions(+), 1 deletion(-)
diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/DataStorageConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/DataStorageConfiguration.java
index a705e49..c286f95 100644
--- a/modules/core/src/main/java/org/apache/ignite/configuration/DataStorageConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/configuration/DataStorageConfiguration.java
@@ -610,10 +610,13 @@ public class DataStorageConfiguration implements Serializable {
* Sets a number of WAL segments to work with. For performance reasons,
* the whole WAL is split into files of fixed length called segments.
*
- * @param walSegments Number of WAL segments.
+ * @param walSegments Number of WAL segments. Value must be greater than 1.
* @return {@code this} for chaining.
*/
public DataStorageConfiguration setWalSegments(int walSegments) {
+ if (walSegments != 0)
+ A.ensure(walSegments > 1, "Number of WAL segments must be greater than 1.");
+
this.walSegments = walSegments;
return this;
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/DataStorageConfigurationValidationTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/DataStorageConfigurationValidationTest.java
index 8a6e2c1..e2f3d27 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/DataStorageConfigurationValidationTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/DataStorageConfigurationValidationTest.java
@@ -77,4 +77,21 @@ public class DataStorageConfigurationValidationTest {
assertEquals(Integer.MAX_VALUE, cfg.getWalSegmentSize());
}
+
+ /**
+ * @throws Exception If failed.
+ */
+ @Test
+ public void testSetWalSegmentsCountShouldThrowExceptionThenLessThan2() throws Exception {
+ final DataStorageConfiguration cfg = new DataStorageConfiguration();
+
+ GridTestUtils.assertThrows(null, new Callable<Void>() {
+ @Override public Void call() throws Exception {
+ cfg.setWalSegments(1);
+
+ return null;
+ }
+ }, IllegalArgumentException.class, null);
+ }
+
}