Add parallel import support for the Exasol connector#29055
Add parallel import support for the Exasol connector#29055kaklakariada wants to merge 3 commits intotrinodb:masterfrom
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 270bfbe317
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
plugin/trino-exasol/src/main/java/io/trino/plugin/exasol/ExasolParallelPageSource.java
Show resolved
Hide resolved
plugin/trino-exasol/src/main/java/io/trino/plugin/exasol/ParallelConnectionFactory.java
Outdated
Show resolved
Hide resolved
Bound the buffered source page queue used by Exasol parallel imports so producer threads cannot enqueue pages without limit. Update queue tests to cover blocking behavior with the larger buffer size.
Add a utility that extracts the host from the configured JDBC URL, retrieves the server TLS certificate, and computes its SHA-256 fingerprint. Use that fingerprint when creating parallel worker connections so validateservercertificate can be enabled instead of disabled.
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ccbdcbd582
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Description
This change adds an Exasol-specific parallel page source that uses Exasol JDBC parallel connections to read result sets through multiple worker connections. The feature is configurable at both catalog and session level, and remains disabled by default.
Closes #29014
Additional context and related issues
exasol.parallel-connections.worker-countparallel_connections_worker_countConnectorPageSourceProviderfor ExasolExasolParallelPageSourceto coordinate parallel reads from worker connectionsExasolResultHandlePageSourceto read from an Exasol result handle on each subconnectionParallelConnectionFactoryto request and open Exasol worker connectionsBufferedSourcePageQueuefor coordinating pages produced by parallel readersBehavior
worker-count = 0keeps the current single-connection behaviorworker-count >= 2enables Exasol parallel connections for importsworker-count = 1uses the custom page source with a single worker, mainly for testingRelease notes
( ) This is not user-visible or is docs only, and no release notes are required.
( ) Release notes are required. Please propose a release note for me.
(x) Release notes are required, with the following suggested text: