Update OpenHFT dependencies (chronicle-queue, chronicle-core, chronicle-bytes, chronicle-wire, chronicle-threads)

Some transitive dependencies to these have also been added to raise their versions. asm-* transitive dependencies have been excluded.

 patch by Mick Semb Wever; reviewed by Ekaterina Dimitrova for CASSANDRA-18049
This commit is contained in:
Mick Semb Wever 2023-02-10 09:16:14 +01:00
parent 592cbeaab0
commit eee211fdbb
No known key found for this signature in database
GPG Key ID: E91335D77E3E87CB
6 changed files with 120 additions and 20 deletions

View File

@ -183,6 +183,8 @@
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
</dependency>
<!-- chronicle queue, and fixed transitive dependencies -->
<dependency>
<groupId>net.openhft</groupId>
<artifactId>chronicle-queue</artifactId>
@ -203,6 +205,40 @@
<groupId>net.openhft</groupId>
<artifactId>chronicle-threads</artifactId>
</dependency>
<dependency>
<!-- transitive to chronicle-core -->
<groupId>net.openhft</groupId>
<artifactId>posix</artifactId>
</dependency>
<dependency>
<!-- transitive to posix to chronicle-core -->
<groupId>net.java.dev.jna</groupId>
<artifactId>jna-platform</artifactId>
</dependency>
<dependency>
<!-- transitive to posix to chronicle-core -->
<groupId>com.github.jnr</groupId>
<artifactId>jnr-ffi</artifactId>
</dependency>
<dependency>
<!-- transitive to jnr-ffi to posix to chronicle-core -->
<groupId>com.github.jnr</groupId>
<artifactId>jffi</artifactId>
</dependency>
<dependency>
<!-- transitive to jnr-ffi to posix to chronicle-core -->
<groupId>com.github.jnr</groupId>
<artifactId>jffi</artifactId>
<classifier>native</classifier>
</dependency>
<dependency>
<!-- transitive to jnr-ffi to chronicle-core -->
<groupId>com.github.jnr</groupId>
<artifactId>jnr-constants</artifactId>
</dependency>
<!-- end of chronicle-queue -->
<dependency>
<groupId>org.fusesource</groupId>
<artifactId>sigar</artifactId>

View File

@ -508,6 +508,57 @@
<artifactId>jna</artifactId>
<version>5.13.0</version>
</dependency>
<dependency>
<!-- transitive to posix to chronicle-core, declared explicit to use newer version -->
<groupId>net.java.dev.jna</groupId>
<artifactId>jna-platform</artifactId>
<version>5.13.0</version>
</dependency>
<dependency>
<!-- transitive to posix to chronicle-core, declared explicit to use newer version -->
<groupId>com.github.jnr</groupId>
<artifactId>jnr-ffi</artifactId>
<version>2.2.13</version>
<exclusions>
<exclusion>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-analysis</artifactId>
</exclusion>
<exclusion>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-commons</artifactId>
</exclusion>
<exclusion>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-tree</artifactId>
</exclusion>
<exclusion>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-util</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<!-- transitive to jnr-ffi to posix to chronicle-core, declared explicit to use newer version -->
<groupId>com.github.jnr</groupId>
<artifactId>jffi</artifactId>
<version>1.3.11</version>
</dependency>
<dependency>
<!-- transitive to jnr-ffi to posix to chronicle-core, declared explicit to use newer version -->
<groupId>com.github.jnr</groupId>
<artifactId>jffi</artifactId>
<classifier>native</classifier>
<version>1.3.11</version>
</dependency>
<dependency>
<!-- transitive to posix to chronicle-core, declared explicit to use newer version -->
<groupId>com.github.jnr</groupId>
<artifactId>jnr-constants</artifactId>
<version>0.10.4</version>
</dependency>
<dependency>
<groupId>org.jacoco</groupId>
<artifactId>org.jacoco.agent</artifactId>
@ -645,7 +696,7 @@
<dependency>
<groupId>net.openhft</groupId>
<artifactId>chronicle-queue</artifactId>
<version>5.20.123</version>
<version>5.23.37</version>
<exclusions>
<exclusion>
<artifactId>tools</artifactId>
@ -656,7 +707,7 @@
<dependency>
<groupId>net.openhft</groupId>
<artifactId>chronicle-core</artifactId>
<version>2.20.126</version>
<version>2.23.36</version>
<exclusions>
<exclusion>
<artifactId>chronicle-analytics</artifactId>
@ -671,7 +722,7 @@
<dependency>
<groupId>net.openhft</groupId>
<artifactId>chronicle-bytes</artifactId>
<version>2.20.111</version>
<version>2.23.33</version>
<exclusions>
<exclusion>
<artifactId>annotations</artifactId>
@ -682,7 +733,7 @@
<dependency>
<groupId>net.openhft</groupId>
<artifactId>chronicle-wire</artifactId>
<version>2.20.117</version>
<version>2.23.39</version>
<exclusions>
<exclusion>
<artifactId>compiler</artifactId>
@ -693,21 +744,13 @@
<dependency>
<groupId>net.openhft</groupId>
<artifactId>chronicle-threads</artifactId>
<version>2.20.111</version>
<exclusions>
<exclusion>
<artifactId>affinity</artifactId>
<groupId>net.openhft</groupId>
</exclusion>
<exclusion>
<artifactId>jna</artifactId>
<groupId>net.java.dev.jna</groupId>
</exclusion>
<exclusion>
<artifactId>jna-platform</artifactId>
<groupId>net.java.dev.jna</groupId>
</exclusion>
</exclusions>
<version>2.23.25</version>
</dependency>
<dependency>
<!-- transitive to chronicle-queue -->
<groupId>net.openhft</groupId>
<artifactId>posix</artifactId>
<version>2.24ea4</version>
</dependency>
<dependency>
<groupId>com.google.code.findbugs</groupId>
@ -835,11 +878,18 @@
<artifactId>jctools-core</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<version>${asm.version}</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-analysis</artifactId>
<version>${asm.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-tree</artifactId>
@ -858,6 +908,7 @@
<version>${asm.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.gridkit.jvmtool</groupId>
<artifactId>sjk-cli</artifactId>

View File

@ -1,4 +1,5 @@
5.0
* Update OpenHFT dependencies (chronicle-queue, chronicle-core, chronicle-bytes, chronicle-wire, chronicle-threads) (CASSANDRA-18049)
* Remove org.apache.cassandra.hadoop code (CASSANDRA-18323)
* Remove deprecated CQL functions dateOf and unixTimestampOf (CASSANDRA-18328)
* Remove DateTieredCompactionStrategy (CASSANDRA-18043)

View File

@ -61,6 +61,7 @@
-Djdk.attach.allowAttachSelf=true
--add-exports java.base/jdk.internal.misc=ALL-UNNAMED
--add-exports java.base/jdk.internal.ref=ALL-UNNAMED
--add-exports java.base/jdk.internal.util=ALL-UNNAMED
--add-exports java.base/sun.nio.ch=ALL-UNNAMED
--add-exports java.management.rmi/com.sun.jmx.remote.internal.rmi=ALL-UNNAMED
--add-exports java.rmi/sun.rmi.registry=ALL-UNNAMED

View File

@ -73,6 +73,7 @@
#chronicle, AuditLog https://chronicle.software/chronicle-support-java-17/
--add-exports java.base/java.lang.ref=ALL-UNNAMED
--add-exports java.base/jdk.internal.util=ALL-UNNAMED
--add-exports jdk.unsupported/sun.misc=ALL-UNNAMED
--add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED

View File

@ -35,6 +35,7 @@ import org.apache.cassandra.io.util.File;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import net.openhft.chronicle.core.io.BackgroundResourceReleaser;
import net.openhft.chronicle.queue.ChronicleQueue;
import net.openhft.chronicle.queue.impl.single.SingleChronicleQueue;
import net.openhft.chronicle.queue.impl.single.SingleChronicleQueueBuilder;
@ -42,6 +43,7 @@ import net.openhft.chronicle.queue.ExcerptAppender;
import net.openhft.chronicle.queue.RollCycles;
import net.openhft.chronicle.wire.WireOut;
import net.openhft.chronicle.wire.WriteMarshallable;
import net.openhft.posix.PosixAPI;
import org.apache.cassandra.concurrent.NamedThreadFactory;
import org.apache.cassandra.io.FSError;
import org.apache.cassandra.utils.JVMStabilityInspector;
@ -75,6 +77,13 @@ public class BinLog implements Runnable
public static final String VERSION = "version";
public static final String TYPE = "type";
static
{
// Avoid the chronicle announcement which is commercial advertisement, and debug info we already print at startup
// https://github.com/OpenHFT/Chronicle-Core/blob/chronicle-core-2.23.36/src/main/java/net/openhft/chronicle/core/announcer/Announcer.java#L32-L33
System.setProperty("chronicle.announcer.disable", "true");
}
private ChronicleQueue queue;
private ExcerptAppender appender;
@VisibleForTesting
@ -122,6 +131,7 @@ public class BinLog implements Runnable
private BinLog(Path path, BinLogOptions options, BinLogArchiver archiver)
{
Preconditions.checkNotNull(PosixAPI.posix(), "Cannot initialize OpenHFT Posix");
Preconditions.checkNotNull(path, "path was null");
Preconditions.checkNotNull(options.roll_cycle, "roll_cycle was null");
Preconditions.checkArgument(options.max_queue_weight > 0, "max_queue_weight must be > 0");
@ -135,7 +145,6 @@ public class BinLog implements Runnable
appender = queue.acquireAppender();
this.blocking = options.block;
this.path = path;
this.options = options;
}
@ -170,6 +179,7 @@ public class BinLog implements Runnable
shouldContinue = false;
sampleQueue.put(NO_OP);
BackgroundResourceReleaser.stop();
binLogThread.join();
appender.close();
appender = null;