Conversation
Contributor
🧪 CI InsightsHere's what we observed from your CI run for d3f490d. 🟢 All jobs passed!But CI Insights is watching 👀 |
Coverage summary from CodacySee diff coverage on Codacy
Coverage variation details
Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: Diff coverage details
Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: See your quality gate settings Change summary preferences |
b8f3a0a to
d3f490d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces support for using Java virtual threads (Project Loom) across several components of ArcadeDB to improve scalability and concurrency, especially for query execution and network protocols. It adds new configuration options to enable or disable virtual threads for different subsystems, refactors executors to support this feature, and adds tests to verify correct behavior with both virtual and platform threads.
Key changes include:
Virtual Thread Support and Configuration:
GlobalConfiguration.javato enable virtual threads for query engines, HTTP server, HA replication, PostgreSQL, and Redis protocols. These are enabled by default and allow users to toggle between virtual and platform threads as needed. [1] [2] [3] [4]Query Engine Refactoring:
JavaQueryEngineandPolyglotQueryEngineto use anExecutorServicethat can be either a virtual thread executor or a fixed thread pool, based on the new configuration. This improves scalability for concurrent query execution. [1] [2] [3] [4] [5]Network Protocols and Server Integration:
GrpcServerPlugin.java) to use a virtual thread executor for handling requests, enhancing its ability to manage many concurrent connections. [1] [2] [3]PostgresNetworkListener.java) to conditionally use virtual threads for each connection, controlled by the new configuration.Testing:
Minor and Related Improvements:
These changes collectively make ArcadeDB more scalable and ready for high-concurrency workloads by leveraging modern Java threading capabilities.