[
https://issues.apache.org/jira/browse/ARTEMIS-5948?focusedWorklogId=1009249&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-1009249
]
ASF GitHub Bot logged work on ARTEMIS-5948:
-------------------------------------------
Author: ASF GitHub Bot
Created on: 12/Mar/26 08:36
Start Date: 12/Mar/26 08:36
Worklog Time Spent: 10m
Work Description: cortlepp commented on PR #6289:
URL: https://github.com/apache/artemis/pull/6289#issuecomment-4044934370
@gemmellr thanks for the advice, I had not noticed that the test isn't
executed on JDK25 and I also found the logs you are referring to. Unfortunately
though, they didn't tell me much.
The startup fails because the server does not find
`org.jctools.queues.MessagePassingQueue`, even though before that it printed
the `jctools-core` (and `jctools-core-jdk11`) coordinates before (which I
interpreted as it loading these classes). I then thought that maybe the
transitive dependency on `jctools-core` via `jctools-core-jdk11` could not be
resolved here, so I added explicit dependencies on `jctools-core` wherever
`jctools-core-jdk11` was used, but that didn't seem to change anything.
I'm a bit out of my depth here and don't know what I could investigate
further. Maybe you can take a look at the logs, see if anything seems off? I
attached two logs to this comment, one before my changes and one after, both
captured when running on JDK 17.0.16 (Temurin).
[pass.log](https://github.com/user-attachments/files/25929288/pass.log)
[fail.log](https://github.com/user-attachments/files/25929290/fail.log)
Issue Time Tracking
-------------------
Worklog Id: (was: 1009249)
Time Spent: 1h (was: 50m)
> Use jctools-core-jdk11 Unsafe-free varhandle replacements
> ---------------------------------------------------------
>
> Key: ARTEMIS-5948
> URL: https://issues.apache.org/jira/browse/ARTEMIS-5948
> Project: Artemis
> Issue Type: Improvement
> Reporter: Christian Ortlepp
> Priority: Major
> Labels: pull-request-available
> Time Spent: 1h
> Remaining Estimate: 0h
>
> Artemis currently uses some queues from jctools-core which rely on
> sun.misc.Unsafe internally. These methods are deprecated in JDK24+, issue a
> warning at runtime and will be removed in future versions of the JDK. Thus it
> makes sense to switch to an implementation which does not rely on those
> methods.
> In their latest
> [release|https://github.com/JCTools/JCTools/releases/tag/v4.0.6] JCTools have
> started to publish a new artifact, jctools-core-jdk11, which contains
> alternative Varhandle based implementations which do not use Unsafe. As far
> as I understand them they are designed to be a drop-in replacement to the
> existing Unsafe implementations.
> It would be great if we could either switch to the new implementations
> entirely or provide it as an option somehow for the people that would like to
> avoid Unsafe. I will link a PR shortly where I switched over to the new
> implementation, but I am open to feedback if for example we can only do this
> change opt-in.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]