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));
+    }
+
 }