[ 
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]

Reply via email to