Stuck on java.util.concurrent.Future#get(long, java.util.concurrent.TimeUnit)
when using java.util.concurrent.Executors#newVirtualThreadPerTaskExecutor
#5248
Labels
Describe the bug
When using
java.util.concurrent.Executors#newVirtualThreadPerTaskExecutor
&java.util.concurrent.ExecutorService#invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit)
& inside theCallable
I callsoftware.amazon.awssdk.enhanced.dynamodb.DynamoDbTable#getItem(software.amazon.awssdk.enhanced.dynamodb.Key)
, the code doesn't return from thegetItem
method, in addition, theFuture#get
doesn't return either from cancelation or timeoutExpected Behavior
Return normally or return exceptionally with
CancelationException
orTimeoutException
Current Behavior
See bug desctiption
Reproduction Steps
But, when using
Executors.newThreadPerTaskExecutor(Thread.ofPlatform().factory())
, this doesn't happen, in addition, when deploying our code to production (using virtual threads), on Ubuntu Server 22.04 EC2s, this doesn't happen either.Possible Solution
No response
Additional Information/Context
No response
AWS Java SDK version used
2.20.157
JDK version used
Operating System and version
MacOS 14.4.1
The text was updated successfully, but these errors were encountered: