New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FISH-7670 Integerate Latest Concurro with Virtual Threads #6582
Conversation
Implement changed structure of concurro classes including F&J support. Especially use the abstract classes instead of *Impl ones.
Add info about actual value and reason for expected range.
We needed to exclude testng from concurrency API, because it was a part of it by accident. The API is fixed, therefor this exclusion is no more necessary.
There already is a Concurro Version 3.1.0-M2. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You need to update copyright on various files.
There's also a dangling reference to the jakarta.enterprise.concurrent.jar
artifact in appserver/pom.xml
https://github.com/aubi/Payara/blob/FISH-7670-use-concurro/appserver/pom.xml#L153
Do we not need to update the ManagedExecutorServiceManager and ManagedScheduledExecutorServiceManager, and ManagedThreadFactoryManager classes with the relevant changes for the new virtual threads option?
We also need to add the requisite options to the asadmin commands:
When doing the above, we'll also need to adjust the create & edit admin console pages respectively.
...ncurrent-connector/src/main/java/org/glassfish/concurrent/config/ManagedExecutorService.java
Outdated
Show resolved
Hide resolved
...ncurrent-connector/src/main/java/org/glassfish/concurrent/config/ManagedExecutorService.java
Show resolved
Hide resolved
...mpl/src/main/java/fish/payara/concurrent/monitoring/ManagedExecutorServiceStatsProvider.java
Outdated
Show resolved
Hide resolved
...ara/sample/concurrency/annotations/managedscheduledexecutor/ManagedScheduledExecutorEJB.java
Outdated
Show resolved
Hide resolved
.../concurrency/annotations/managedscheduledexecutor/ManagedScheduledExecutorApplicationIT.java
Outdated
Show resolved
Hide resolved
.../concurrency/annotations/managedscheduledexecutor/ManagedScheduledExecutorApplicationIT.java
Outdated
Show resolved
Hide resolved
.../concurrency/annotations/managedscheduledexecutor/ManagedScheduledExecutorApplicationIT.java
Show resolved
Hide resolved
This is exactly the idea of task FISH-8302. We will have to store the setup in domain.xml, exactly as it done in Fork&Join pool. This implementation uses the ManagedExecutorDefinition.virtual() flag to use virtual threads, e.g. enough to pass TCK and test this feature. |
@svendiedrichsen Yes. It was released the day before I finished this and added a fix for a bug, which causes this to fail: eclipse-ee4j/glassfish-concurro#82 :-( I just merged this PR, so if you want to test this PR without our nexus, you can compile concurro/master locally. |
<groupId>org.glassfish.concurro</groupId> | ||
<artifactId>concurro</artifactId> | ||
</dependency> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still outstanding - you're adding 5 spaces here rather than 4.
I'd prefer if we fix the formatting of the other misaligned dependencies rather than compounding it.
Co-authored-by: Andrew Pielage <pandrex247@hotmail.com>
Signed-off-by: Andrew Pielage <pandrex247@hotmail.com>
Description
We donated Fork&Join Pool to Concurro plus one fix, so we can start using the upstream project again
This PR integrates the latest version and also implements usage of virtual threads
Testing
Testing Performed
I uploaded a testing application to the Jira ticket. The app defines its own MES:
http://localhost:8080/ConcurrencyVirtual-1.0-SNAPSHOT/rest/test
It displays 3 stacktraces of the tasks, all of the ending with
E.g. the threads are executed in virtual threads!
Testing Environment
Linux, OpenJDK 21
Notes for Reviewers
I deployed concurro, version
3.1.0-SNAPSHOT
to our snapshot nexus repository. We will use this until Concurro will not release a new version with all required changes.The required change:
eclipse-ee4j/glassfish-concurro#82