[ 
https://issues.apache.org/jira/browse/ARTEMIS-4937?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17877569#comment-17877569
 ] 

Justin Bertram commented on ARTEMIS-4937:
-----------------------------------------

It's not obvious that all pinning, no matter what, is problematic (as noted 
[here|https://mikemybytes.com/2024/02/28/curiosities-of-java-virtual-threads-pinning-with-synchronized/]).
 Therefore, occurrences of pinning should be evaluated on a case by case basis.

> Resolve virtual thread pinning issues in client side Artemis code
> -----------------------------------------------------------------
>
>                 Key: ARTEMIS-4937
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-4937
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 2.35.0
>            Reporter: Emmanuel Hugonnet
>            Priority: Major
>
> When I was testing executing WildFly workloads on a virtual thread, turning 
> on JVM thread pinning logging (see WFLY-19536) revealed pinning happening in 
> client-side Artemis code (e.g. sending JMS messages). This issue is to trace 
> working with the Artemis community to resolve these issues and get the fixed 
> code into WildFly.
> An example:
> {noformat}
> 2024-07-18 04:55:23,274 INFO  [stdout] (ForkJoinPool-1-worker-1) 
> Thread[#297,ForkJoinPool-1-worker-1,5,CarrierThreads]
> 2024-07-18 04:55:23,275 INFO  [stdout] (ForkJoinPool-1-worker-1)     
> java.base/java.lang.VirtualThread$VThreadContinuation.onPinned(VirtualThread.java:185)
> 2024-07-18 04:55:23,275 INFO  [stdout] (ForkJoinPool-1-worker-1)     
> java.base/jdk.internal.vm.Continuation.onPinned0(Continuation.java:393)
> 2024-07-18 04:55:23,276 INFO  [stdout] (ForkJoinPool-1-worker-1)     
> java.base/java.lang.VirtualThread.parkNanos(VirtualThread.java:631)
> 2024-07-18 04:55:23,276 INFO  [stdout] (ForkJoinPool-1-worker-1)     
> java.base/java.lang.System$2.parkVirtualThread(System.java:2648)
> 2024-07-18 04:55:23,276 INFO  [stdout] (ForkJoinPool-1-worker-1)     
> java.base/jdk.internal.misc.VirtualThreads.park(VirtualThreads.java:67)
> 2024-07-18 04:55:23,276 INFO  [stdout] (ForkJoinPool-1-worker-1)     
> java.base/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:267)
> 2024-07-18 04:55:23,276 INFO  [stdout] (ForkJoinPool-1-worker-1)     
> java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:756)
> 2024-07-18 04:55:23,276 INFO  [stdout] (ForkJoinPool-1-worker-1)     
> java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1126)
> 2024-07-18 04:55:23,276 INFO  [stdout] (ForkJoinPool-1-worker-1)     
> java.base/java.util.concurrent.CountDownLatch.await(CountDownLatch.java:276)
> 2024-07-18 04:55:23,277 INFO  [stdout] (ForkJoinPool-1-worker-1)     
> [email protected]//org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl.waitForTopology(ClientSessionFactoryImpl.java:544)
> 2024-07-18 04:55:23,277 INFO  [stdout] (ForkJoinPool-1-worker-1)     
> [email protected]//org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:773)
> 2024-07-18 04:55:23,277 INFO  [stdout] (ForkJoinPool-1-worker-1)     
> [email protected]//org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnectionInternal(ActiveMQConnectionFactory.java:913)
>  <== monitors:1{noformat}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact


Reply via email to