diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java index 311e34ab81ca3..b9a9642ba445f 100755 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java @@ -1126,7 +1126,8 @@ else if (restored != null) if (defrgMgr != null) defrgMgr.cancel(); - checkpointManager.stop(cancel); + if (checkpointManager != null) + checkpointManager.stop(cancel); super.onKernalStop0(cancel); diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/WalArchiveSizeConfigurationTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/WalArchiveSizeConfigurationTest.java index f051337641c3d..9df8043bb8bd0 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/WalArchiveSizeConfigurationTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/WalArchiveSizeConfigurationTest.java @@ -28,6 +28,7 @@ import org.apache.ignite.internal.IgniteEx; import org.apache.ignite.internal.util.typedef.internal.U; import org.apache.ignite.testframework.ListeningTestLogger; +import org.apache.ignite.testframework.LogListener; import org.apache.ignite.testframework.junits.WithSystemProperty; import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; import org.junit.Test; @@ -85,7 +86,7 @@ public void testPersistentConfiguration() throws Exception { * Checks that an exception is thrown if WAL segment size is larger than max WAL archive size. */ @Test - public void testIncorrectMaxArchiveSizeConfiguration() throws Exception { + public void testIncorrectMaxArchiveSizeConfiguration() { DataStorageConfiguration dataStorageConfiguration = new DataStorageConfiguration() .setWalSegmentSize((int)U.MB) .setMaxWalArchiveSize(10) @@ -93,12 +94,22 @@ public void testIncorrectMaxArchiveSizeConfiguration() throws Exception { new DataRegionConfiguration().setPersistenceEnabled(true) ); + ListeningTestLogger listeningLog = new ListeningTestLogger(); + LogListener npeChecker = LogListener.matches(NullPointerException.class.getName()).build(); + listeningLog.registerListener(npeChecker); + assertThrowsAnyCause( log, - () -> startGrid(0, (IgniteConfiguration cfg) -> cfg.setDataStorageConfiguration(dataStorageConfiguration)), + () -> startGrid(0, (IgniteConfiguration cfg) -> + cfg + .setDataStorageConfiguration(dataStorageConfiguration) + .setGridLogger(listeningLog) + ), IgniteCheckedException.class, "maxWalArchiveSize must be no less than" ); + + assertFalse(npeChecker.check()); } /**