This is an automated email from the ASF dual-hosted git repository.

pkarwasz pushed a commit to branch 2.x
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git


The following commit(s) were added to refs/heads/2.x by this push:
     new 27f0627f92 Replace H2 file-based databases with in-memory databases
27f0627f92 is described below

commit 27f0627f9268a979ebb7806d9444d17096e4b5d8
Author: Piotr P. Karwasz <[email protected]>
AuthorDate: Tue Nov 7 13:38:08 2023 +0100

    Replace H2 file-based databases with in-memory databases
    
    This improves parallelization of the tests.
---
 .../test/appender/db/jdbc/JdbcH2TestHelper.java    | 29 +++++++++-------------
 .../core/test/appender/db/jdbc/package-info.java   |  2 +-
 .../db/jdbc/log4j2-dm-column-mapping-literal.xml   |  2 +-
 3 files changed, 14 insertions(+), 19 deletions(-)

diff --git 
a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/appender/db/jdbc/JdbcH2TestHelper.java
 
b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/appender/db/jdbc/JdbcH2TestHelper.java
index 6e789950d3..d36a27bb77 100644
--- 
a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/appender/db/jdbc/JdbcH2TestHelper.java
+++ 
b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/appender/db/jdbc/JdbcH2TestHelper.java
@@ -17,15 +17,11 @@
 package org.apache.logging.log4j.core.test.appender.db.jdbc;
 
 import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
 import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.SQLException;
 
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
-import org.apache.commons.io.file.PathUtils;
-import org.apache.commons.lang3.SystemUtils;
 import org.apache.logging.log4j.core.appender.db.jdbc.AbstractConnectionSource;
 import org.apache.logging.log4j.core.appender.db.jdbc.ConnectionSource;
 
@@ -37,9 +33,12 @@ public class JdbcH2TestHelper {
     public static final String CONNECTION_STRING_IN_MEMORY = 
"jdbc:h2:mem:Log4j";
 
     /**
-     * A JDBC connection string for an H2 database in the Java temporary 
directory.
+     * A JDBC connection string for a permanent H2 database.
+     *
+     * Since 2.22.0 this uses a permanent in-memory database.
      */
-    public static final String CONNECTION_STRING_TEMP_DIR = "jdbc:h2:" + 
getH2Path() + "/test_log4j;TRACE_LEVEL_SYSTEM_OUT=0";
+    @Deprecated
+    public static final String CONNECTION_STRING_TEMP_DIR = 
"jdbc:h2:mem:Log4j_perm;DB_CLOSE_DELAY=-1";
 
     public static final String USER_NAME = "sa";
     public static final String PASSWORD = "";
@@ -51,6 +50,7 @@ public class JdbcH2TestHelper {
         }
     };
 
+    @Deprecated
     public static ConnectionSource TEST_CONFIGURATION_SOURCE_TMPDIR = new 
AbstractConnectionSource() {
         @Override
         public Connection getConnection() throws SQLException {
@@ -58,14 +58,9 @@ public class JdbcH2TestHelper {
         }
     };
 
-    /** Directory used in configuration files and connection strings. */
-    static final String H2_TEST_RELATIVE_DIR = "h2";
-
+    @Deprecated
     public static void deleteDir() throws IOException {
-        final Path resolve = getH2Path();
-        if (Files.exists(resolve)) {
-            PathUtils.deleteDirectory(resolve);
-        }
+        // Since 2.22.0 this is a no-op
     }
 
     @SuppressFBWarnings(value = "DMI_EMPTY_DB_PASSWORD")
@@ -73,13 +68,13 @@ public class JdbcH2TestHelper {
         return DriverManager.getConnection(CONNECTION_STRING_IN_MEMORY, 
USER_NAME, PASSWORD);
     }
 
+    /**
+     * Since 2.22.0 this uses a permanent in-memory database.
+     */
+    @Deprecated
     @SuppressFBWarnings(value = "DMI_EMPTY_DB_PASSWORD")
     public static Connection getConnectionTempDir() throws SQLException {
         return DriverManager.getConnection(CONNECTION_STRING_TEMP_DIR, 
USER_NAME, PASSWORD);
     }
 
-    private static Path getH2Path() {
-        return 
SystemUtils.getJavaIoTmpDir().toPath().resolve(H2_TEST_RELATIVE_DIR).normalize();
-    }
-
 }
diff --git 
a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/appender/db/jdbc/package-info.java
 
b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/appender/db/jdbc/package-info.java
index 7d2d456a32..d7cbf102d7 100644
--- 
a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/appender/db/jdbc/package-info.java
+++ 
b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/appender/db/jdbc/package-info.java
@@ -15,7 +15,7 @@
  * limitations under the license.
  */
 @Export
-@Version("2.20.1")
+@Version("2.20.2")
 package org.apache.logging.log4j.core.test.appender.db.jdbc;
 
 import org.osgi.annotation.bundle.Export;
diff --git 
a/log4j-core-test/src/test/resources/org/apache/logging/log4j/core/appender/db/jdbc/log4j2-dm-column-mapping-literal.xml
 
b/log4j-core-test/src/test/resources/org/apache/logging/log4j/core/appender/db/jdbc/log4j2-dm-column-mapping-literal.xml
index 20d235f915..07968012f1 100644
--- 
a/log4j-core-test/src/test/resources/org/apache/logging/log4j/core/appender/db/jdbc/log4j2-dm-column-mapping-literal.xml
+++ 
b/log4j-core-test/src/test/resources/org/apache/logging/log4j/core/appender/db/jdbc/log4j2-dm-column-mapping-literal.xml
@@ -22,7 +22,7 @@
       <PatternLayout pattern="%C{1.} %m %level MDC%X%n"/>
     </Console>
     <Jdbc name="databaseAppender" tableName="dsMappingLogEntry" 
ignoreExceptions="false">
-      <DriverManager 
connectionString="jdbc:h2:${sys:java.io.tmpdir}/h2/test_log4j;TRACE_LEVEL_SYSTEM_OUT=0"
 userName="sa" password="" />
+      <DriverManager 
connectionString="jdbc:h2:mem:Log4j_perm;DB_CLOSE_DELAY=-1" userName="sa" 
password="" />
       <ColumnMapping name="level" pattern="%level" />
       <ColumnMapping name="logger" pattern="%logger" />
       <ColumnMapping name="message" literal="'Hello World!'" />

Reply via email to