[ https://issues.apache.org/jira/browse/CASSANDRA-18049?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17699393#comment-17699393 ]
Michael Semb Wever commented on CASSANDRA-18049: ------------------------------------------------ dtest failures are fixed. - needed newer version of openhft-posix to failover nicely when jffi (libffi) cannot load. - precondition put in to check loading of posix (also will print correct error message at startup) - auditlog and fqltool tests do chronicle-queue file-shrinking synchronously (as can throw exception if cq4 file is first deleted) Patches as same as above, with cassandra-dtest added - [https://github.com/apache/cassandra-dtest/compare/trunk...thelastpickle:cassandra-dtest:mck/18049] Notes - the {{background.releaser}} is kept enabled as a background thread, per default -- `{{BackgroundResourceReleaser.stop()}}` is added to {{BinLog.stop()}} - if libjffi dylib fails to load on my macos (and appropriate stacktrace is printed from `{{{}PosixAPI.posix(){}}}` in the precondition), but everything works otherwise - introduced, the default sync to disk mode for chronicle-bytes is async, ref [MappedBytesStore.java|https://github.com/OpenHFT/Chronicle-Bytes/blob/chronicle-bytes-2.23.33/src/main/java/net/openhft/chronicle/bytes/MappedBytesStore.java#L49] -- if the user configures audit or fql logging to be blocking should we then always be using {{SyncMode.SYNC}} ? -- alternatively, if the user wants blocking AND paranoid disk sync, they can manually set `{{-DmappedFile.defaultSyncMode=SYNC}}` (and we should document this in cassandra.yaml) - System property {{chronicle.announcer.disable=true}} hardcoded to avoid the chronicle INFO announcement/advertisement - the 8x faster version of {{BytesInternal.contentEqual*(..)}} (and {{BytesStore.equals(..)}}) on jdk11+ (using SIMD comparison instruction) needs `{{--illegal-access=permit --add-exports java.base/jdk.internal.ref=ALL-UNNAMED --add-exports java.base/jdk.internal.util=ALL-UNNAMED}}`, ref [here|https://github.com/OpenHFT/Chronicle-Bytes/compare/chronicle-bytes-2.20.111...chronicle-bytes-2.23.33#diff-7be2a8746677c85a85b22da547a6132e51ba0a5b61538f9b19d3e8f6da43be20R115] -- this opens for CASSANDRA-13903 - chronicle-wire has a list of required exports [here|https://github.com/OpenHFT/Chronicle-Wire/blob/cba6efbb26656f76a8978901e2792e9bc5866106/demo/java17setup.sh], our use of chronicle-wire is limited to {{WireIn}}, {{WireOut}}, {{ValueOut}}, {{WriteMarshallable}}, and {{ReadMarshallable}}. dependency upgrade diffs: - chronicle-bytes: https://github.com/OpenHFT/Chronicle-Bytes/compare/chronicle-bytes-2.20.111...chronicle-bytes-2.23.33 - chronicle-core: https://github.com/OpenHFT/Chronicle-Core/compare/chronicle-core-2.20.126...chronicle-core-2.23.36 - chronicle-queue: https://github.com/OpenHFT/Chronicle-Queue/compare/chronicle-queue-5.20.123...chronicle-queue-5.23.37 - chronicle-threads: https://github.com/OpenHFT/Chronicle-Threads/compare/chronicle-threads-2.20.111...chronicle-threads-2.23.25 - chronicle-wire: https://github.com/OpenHFT/Chronicle-Wire/compare/chronicle-wire-2.20.117...chronicle-wire-2.23.39 A _quick_ scan of these and little stands out (as is expected from only minor semver changes). Changes are predominantly license/copyright/annotations/exception-handling/error-messages/tests/demo/jmh/code-formatting. Internal improvements exist for handling of single-threaded, chunked and/or sparse mapped files, jdk9 and jdk11, and reference counting and releasing. Dependency changes (will be passed by dev@): - Added -- affinity-3.23ea1.jar -- asm-analysis-9.2.jar -- asm-commons-9.2.jar -- asm-tree-9.2.jar -- asm-util-9.2.jar -- jffi-1.3.9.jar -- jna-platform-5.5.0.jar -- jnr-a64asm-1.0.0.jar -- jnr-constants-0.10.3.jar -- jnr-ffi-2.2.11.jar -- jnr-x86asm-1.0.2.jar -- posix-2.24ea4.jar - Upgraded -- chronicle-bytes-2.20.111.jar --> chronicle-bytes-2.23.33.jar -- chronicle-core-2.20.126.jar --> chronicle-core-2.23.36.jar -- chronicle-queue-5.20.123.jar --> chronicle-queue-5.23.37.jar -- chronicle-threads-2.20.111.jar --> chronicle-threads-2.23.25.jar -- chronicle-wire-2.20.117.jar --> chronicle-wire-2.23.39.jar The Posix dependency pulls in all *ffi and asm* transitive dependencies. > Update Chronicle Queue > ---------------------- > > Key: CASSANDRA-18049 > URL: https://issues.apache.org/jira/browse/CASSANDRA-18049 > Project: Cassandra > Issue Type: Task > Reporter: Ekaterina Dimitrova > Assignee: Michael Semb Wever > Priority: Normal > Fix For: 5.x > > > According to [this|https://chronicle.software/chronicle-support-java-17] > article: > {code:java} > Starting from chronicle-bom-2.22ea26, all new releases can be run under Java > 17 when run on the class path (but not yet under the module path).{code} > This BOM is newer than what we currently have in both 4.1 and trunk. 4.1 > points in comments to > [https://mvnrepository.com/artifact/net.openhft/chronicle-bom/1.16.23] which > I believe was just forgotten to be updated/removed. The versions we see > correspond to this BOM > [https://mvnrepository.com/artifact/net.openhft/chronicle-bom/2.20.226] > It is still older than chronicle-bom-2.22ea26 so we need to upgrade. I > suggest we also add a comment again which BOM is considered, this makes > things easier. > Further to running CI, review of the CHANGE logs needs to happen to ensure we > do not miss anything that can impact us and it is not caught by our tests. > For testing with JDK17, please, contact [~e.dimitrova] for latest branch and > CI config (at this point feature branch in the cassandra repo does not exist) > -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org