Skip to content

Conversation

l-trotta
Copy link
Contributor

Adding new Rest5Client transport implementation based on Apache Http Client version 5, adding more builders and helpers for the client itself and for its methods.

@l-trotta l-trotta requested a review from swallez March 31, 2025 12:45
@l-trotta l-trotta force-pushed the low-level-client-update branch from b3846d8 to b1287e6 Compare March 31, 2025 15:15
Copy link
Member

@swallez swallez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@l-trotta l-trotta merged commit 06164fb into main Mar 31, 2025
9 checks passed
@l-trotta l-trotta deleted the low-level-client-update branch March 31, 2025 15:45
Copy link

The backport to 9.0 failed:

The process '/usr/bin/git' failed with exit code 1

To backport manually, run these commands in your terminal:

# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add .worktrees/backport-9.0 9.0
# Navigate to the new working tree
cd .worktrees/backport-9.0
# Create a new branch
git switch --create backport-974-to-9.0
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick --mainline 1 06164fb52da0b766f14399c55aace75da1a0f708
# Push it to GitHub
git push --set-upstream origin backport-974-to-9.0
# Go back to the original working tree
cd ../..
# Delete the working tree
git worktree remove .worktrees/backport-9.0

Then, create a pull request where the base branch is 9.0 and the compare/head branch is backport-974-to-9.0.

l-trotta added a commit that referenced this pull request Mar 31, 2025
* new transport

* fix multibufferentity

* client builder refactor

* temp

* temp

* temp

* original tests

* new tests

* fixing tests

* flatten low level client folder structure

* Move things around, remove duplicated tests

* naming refactor

* Add ElasticsearchTestClient that randomly chooses an implementation

* regen from latest spec

* test fixes

* esql test config fix

* porting low level client unit tests

* low level client tests to junit 5

* Randomize client implementation, remove cloud-id on Rest5, add tests for overloaded methods

* Refine client builder

* todos and timeouts fix

* checkstyle fixes

* remove maven local + remove legacy test

* Add insecure SSLContext

* temp rebase fix

* Reduce public API surface

* Extract HttpRequest.Node (future-proof this class for later use)

* Remove Node.boundHosts: it's mostly useless in the container era

* Port RestClient's sniffer to Rest5Client

* Move Node back to its original location. TransportHttpClient is self-contained

* Refactor client builder to transport configuration

* Allow extensions of ElasticsearchTransportConfig

* Remove calls to AccessController which is deprecated for removal

* Fix licenseReport

* Revert "temp rebase fix"

This reverts commit 48f2b57.

* [codegen] update to latest spec and generator

* fixing tests

* regen

---------

Co-authored-by: Sylvain Wallez <[email protected]>
l-trotta added a commit that referenced this pull request Mar 31, 2025
* new transport

* fix multibufferentity

* client builder refactor

* temp

* temp

* temp

* original tests

* new tests

* fixing tests

* flatten low level client folder structure

* Move things around, remove duplicated tests

* naming refactor

* Add ElasticsearchTestClient that randomly chooses an implementation

* regen from latest spec

* test fixes

* esql test config fix

* porting low level client unit tests

* low level client tests to junit 5

* Randomize client implementation, remove cloud-id on Rest5, add tests for overloaded methods

* Refine client builder

* todos and timeouts fix

* checkstyle fixes

* remove maven local + remove legacy test

* Add insecure SSLContext

* temp rebase fix

* Reduce public API surface

* Extract HttpRequest.Node (future-proof this class for later use)

* Remove Node.boundHosts: it's mostly useless in the container era

* Port RestClient's sniffer to Rest5Client

* Move Node back to its original location. TransportHttpClient is self-contained

* Refactor client builder to transport configuration

* Allow extensions of ElasticsearchTransportConfig

* Remove calls to AccessController which is deprecated for removal

* Fix licenseReport

* Revert "temp rebase fix"

This reverts commit 48f2b57.

* [codegen] update to latest spec and generator

* fixing tests

* regen

---------

Co-authored-by: Sylvain Wallez <[email protected]>
@cfedericovonwernich
Copy link

Is Java 8 deprecated after this change set was merged? Are you guys planning to drop support ?

@l-trotta
Copy link
Contributor Author

hey @cfedericovonwernich, version 8.x of the java client will continue to be built with java 8, while for version 9.x we have decided to update to java 17, we'll make it clearer in the breaking changes documentation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants