You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by pk...@apache.org on 2022/10/04 22:14:54 UTC
[logging-log4j2] branch master updated: Fix JDBC and JPA benchmarks
This is an automated email from the ASF dual-hosted git repository.
pkarwasz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
The following commit(s) were added to refs/heads/master by this push:
new 67550d4169 Fix JDBC and JPA benchmarks
67550d4169 is described below
commit 67550d4169d8cbd31dc1c9be5e88f995a0fff0a8
Author: Piotr P. Karwasz <pi...@karwasz.org>
AuthorDate: Tue Oct 4 22:51:19 2022 +0200
Fix JDBC and JPA benchmarks
It also bumps EclipseLink to version 2.7.10 as in the `release-2.x`
branch.
---
log4j-perf/pom.xml | 28 ++++++++++++----------
.../log4j/perf/jmh/JdbcAppenderBenchmark.java | 2 +-
.../log4j/perf/jmh/JpaAppenderBenchmark.java | 23 +++++++++---------
.../src/main/resources/META-INF/persistence.xml | 7 +++++-
pom.xml | 8 ++++++-
5 files changed, 41 insertions(+), 27 deletions(-)
diff --git a/log4j-perf/pom.xml b/log4j-perf/pom.xml
index 02747622cd..cf928f4f0f 100644
--- a/log4j-perf/pom.xml
+++ b/log4j-perf/pom.xml
@@ -95,12 +95,6 @@
<groupId>com.lmax</groupId>
<artifactId>disruptor</artifactId>
</dependency>
- <!-- JPA Tests -->
- <dependency>
- <groupId>org.eclipse.persistence</groupId>
- <artifactId>eclipselink</artifactId>
- <version>2.5.2</version>
- </dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
@@ -156,12 +150,6 @@
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpa</artifactId>
</dependency>
- <!-- Used for JPA appenders (needs an implementation of course) -->
- <dependency>
- <groupId>javax.persistence</groupId>
- <artifactId>persistence-api</artifactId>
- <version>1.0.2</version>
- </dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
@@ -183,6 +171,19 @@
</instructions>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <annotationProcessorPaths combine.children="append">
+ <path>
+ <groupId>org.openjdk.jmh</groupId>
+ <artifactId>jmh-generator-annprocess</artifactId>
+ <version>${jmh.version}</version>
+ </path>
+ </annotationProcessorPaths>
+ </configuration>
+ </plugin>
<!-- Include the standard NOTICE and LICENSE -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
@@ -212,13 +213,14 @@
<minimizeJar>false</minimizeJar>
<finalName>${uberjar.name}</finalName>
<transformers>
- <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.ApacheLicenseResourceTransformer"/>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>org.openjdk.jmh.Main</mainClass>
<manifestEntries>
<Multi-Release>true</Multi-Release>
</manifestEntries>
</transformer>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
</transformers>
<filters>
<filter>
diff --git a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/JdbcAppenderBenchmark.java b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/JdbcAppenderBenchmark.java
index 14ae458db1..76f6c91c84 100644
--- a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/JdbcAppenderBenchmark.java
+++ b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/JdbcAppenderBenchmark.java
@@ -173,7 +173,7 @@ public class JdbcAppenderBenchmark {
private String toCreateTableSqlStringH2(final String tableName) {
return "CREATE TABLE " + tableName + " ( "
- + "id INTEGER IDENTITY, eventDate DATETIME, literalColumn VARCHAR(255), level NVARCHAR(10), "
+ + "id INTEGER GENERATED ALWAYS AS IDENTITY, eventDate DATETIME, literalColumn VARCHAR(255), level NVARCHAR(10), "
+ "logger NVARCHAR(255), message VARCHAR(1024), exception NCLOB" + " )";
}
diff --git a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/JpaAppenderBenchmark.java b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/JpaAppenderBenchmark.java
index 2d9f9aad53..5ebd28e54f 100644
--- a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/JpaAppenderBenchmark.java
+++ b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/JpaAppenderBenchmark.java
@@ -168,14 +168,14 @@ public class JpaAppenderBenchmark {
*/
public static Connection getConnectionH2() throws Exception {
Class.forName("org.h2.Driver");
- final Connection connection = DriverManager.getConnection("jdbc:h2:mem:Log4j", "sa", "");
+ final Connection connection = DriverManager.getConnection("jdbc:h2:mem:Log4j;MODE=PostgreSQL", "sa", "");
final Statement statement = connection.createStatement();
- statement
- .executeUpdate("CREATE TABLE jpaBasicLogEntry ( "
- + "id INTEGER IDENTITY, timemillis BIGINT, level NVARCHAR(10), loggerName NVARCHAR(255), "
- + "message NVARCHAR(1024), thrown NVARCHAR(1048576), contextMapJson NVARCHAR(1048576),"
- + "loggerFQCN NVARCHAR(1024), contextStack NVARCHAR(1048576), marker NVARCHAR(255), source NVARCHAR(2048),"
- + "threadName NVARCHAR(255)" + " )");
+ statement.executeUpdate("CREATE TABLE jpaBasicLogEntry ( "
+ + "id INTEGER GENERATED ALWAYS AS IDENTITY, timemillis BIGINT, instant NVARCHAR(64), nanoTime BIGINT, "
+ + "level NVARCHAR(10), loggerName NVARCHAR(255), message NVARCHAR(1024), "
+ + "thrown NVARCHAR(1048576), contextMapJson NVARCHAR(1048576), loggerFQCN NVARCHAR(1024), "
+ + "contextStack NVARCHAR(1048576), marker NVARCHAR(255), source NVARCHAR(2048),"
+ + "threadId BIGINT, threadName NVARCHAR(255), threadPriority INTEGER )");
statement.close();
return connection;
}
@@ -188,10 +188,11 @@ public class JpaAppenderBenchmark {
final Connection connection = DriverManager.getConnection("jdbc:hsqldb:mem:Log4j", "sa", "");
final Statement statement = connection.createStatement();
statement.executeUpdate("CREATE TABLE jpaBasicLogEntry ( "
- + "id INTEGER IDENTITY, timemillis BIGINT, level VARCHAR(10), loggerName VARCHAR(255), "
- + "message VARCHAR(1024), thrown VARCHAR(1048576), contextMapJson VARCHAR(1048576),"
- + "loggerFQCN VARCHAR(1024), contextStack VARCHAR(1048576), marker VARCHAR(255), source VARCHAR(2048),"
- + "threadName VARCHAR(255)" + " )");
+ + "id INTEGER IDENTITY, timemillis BIGINT, instant NVARCHAR(64), nanoTime BIGINT, "
+ + "level VARCHAR(10), loggerName VARCHAR(255), message VARCHAR(1024), thrown VARCHAR(1048576), "
+ + "contextMapJson VARCHAR(1048576), loggerFQCN VARCHAR(1024), "
+ + "contextStack VARCHAR(1048576), marker VARCHAR(255), source VARCHAR(2048),"
+ + "threadId BIGINT, threadName NVARCHAR(255), threadPriority INTEGER )");
statement.close();
return connection;
}
diff --git a/log4j-perf/src/main/resources/META-INF/persistence.xml b/log4j-perf/src/main/resources/META-INF/persistence.xml
index d80073902c..0442884e59 100644
--- a/log4j-perf/src/main/resources/META-INF/persistence.xml
+++ b/log4j-perf/src/main/resources/META-INF/persistence.xml
@@ -63,9 +63,14 @@
<shared-cache-mode>NONE</shared-cache-mode>
<properties>
<property name="javax.persistence.jdbc.driver" value="org.h2.Driver"/>
- <property name="javax.persistence.jdbc.url" value="jdbc:h2:mem:Log4j"/>
+ <property name="javax.persistence.jdbc.url" value="jdbc:h2:mem:Log4j;MODE=PostgreSQL"/>
<property name="javax.persistence.jdbc.user" value="sa"/>
<property name="javax.persistence.jdbc.password" value=""/>
+ <!--
+ Until the issue in https://github.com/eclipse-ee4j/eclipselink/issues/1393
+ we run in PostgreSQL compatibility mode.
+ -->
+ <property name="eclipselink.target-database" value="PostgreSQL"/>
<!--<property name="eclipselink.logging.level" value="FINE"/>
<property name="eclipselink.logging.level.sql" value="FINE"/>
<property name="eclipselink.logging.parameters" value="true"/> uncomment to troubleshoot SQL-->
diff --git a/pom.xml b/pom.xml
index cb80f2f4d0..586d28b237 100644
--- a/pom.xml
+++ b/pom.xml
@@ -860,7 +860,13 @@
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpa</artifactId>
- <version>2.7.4</version>
+ <version>2.7.10</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.eclipse.persistence</groupId>
+ <artifactId>jakarta.persistence</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>org.osgi</groupId>