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 08:54:16 UTC
[ignite] branch master updated: IGNITE-13057 Fix tmp workdir
message print condition - Fixes #7833.
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 22668c7 IGNITE-13057 Fix tmp workdir message print condition - Fixes #7833.
22668c7 is described below
commit 22668c77b38b8f28384972ba610604de942e748e
Author: Semyon Danilov <sa...@yandex.ru>
AuthorDate: Tue May 26 11:53:48 2020 +0300
IGNITE-13057 Fix tmp workdir message print condition - Fixes #7833.
Signed-off-by: Ilya Kasnacheev <il...@gmail.com>
---
.../persistence/file/FilePageStoreManager.java | 4 ++--
.../PersistenceDirectoryWarningLoggingTest.java | 25 ++++++++++++++++++++++
2 files changed, 27 insertions(+), 2 deletions(-)
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FilePageStoreManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FilePageStoreManager.java
index 2ee7e4d..7f6269d 100755
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FilePageStoreManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/file/FilePageStoreManager.java
@@ -229,13 +229,13 @@ public class FilePageStoreManager extends GridCacheSharedManagerAdapter implemen
String tmpDir = System.getProperty("java.io.tmpdir");
- if (tmpDir != null && storeWorkDir.getAbsolutePath().contains(tmpDir)) {
+ if (tmpDir != null && storeWorkDir.getAbsolutePath().startsWith(tmpDir)) {
log.warning("Persistence store directory is in the temp directory and may be cleaned." +
"To avoid this set \"IGNITE_HOME\" environment variable properly or " +
"change location of persistence directories in data storage configuration " +
"(see DataStorageConfiguration#walPath, DataStorageConfiguration#walArchivePath, " +
"DataStorageConfiguration#storagePath properties). " +
- "Current persistence store directory is: [" + tmpDir + "]");
+ "Current persistence store directory is: [" + storeWorkDir.getAbsolutePath() + "]");
}
File[] files = storeWorkDir.listFiles();
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/PersistenceDirectoryWarningLoggingTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/PersistenceDirectoryWarningLoggingTest.java
index 0cc70fd..2c27d4b 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/PersistenceDirectoryWarningLoggingTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/PersistenceDirectoryWarningLoggingTest.java
@@ -17,8 +17,10 @@
package org.apache.ignite.internal.processors.cache.persistence;
+import java.io.File;
import org.apache.ignite.configuration.DataStorageConfiguration;
import org.apache.ignite.configuration.IgniteConfiguration;
+import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.testframework.GridStringLogger;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
import org.junit.Test;
@@ -87,4 +89,27 @@ public class PersistenceDirectoryWarningLoggingTest extends GridCommonAbstractTe
assertTrue(log0.toString().contains(WARN_MSG_PREFIX));
}
+
+ /**
+ * Test that temporary work directory warning is not printed, if PDS is not actually in temporary directory
+ * @throws Exception If failed.
+ */
+ @Test
+ public void testPdsDirWarningIsNotLogged() throws Exception {
+ IgniteConfiguration cfg = getConfiguration("0");
+
+ String tempDir = System.getProperty("java.io.tmpdir");
+
+ assertNotNull(tempDir);
+
+ File workDir = new File(U.defaultWorkDirectory(), tempDir);
+
+ // set working directory to file not in tmp directory, but with temp directory folder name in path
+ cfg.setWorkDirectory(workDir.getAbsolutePath());
+
+ startGrid(cfg);
+
+ assertFalse(log0.toString().contains(WARN_MSG_PREFIX));
+ }
+
}