-
-
Notifications
You must be signed in to change notification settings - Fork 8.2k
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
[grid] enable the httpclient to perform async requests #14403 #14409
Conversation
PR Reviewer Guide 🔍
|
PR Code Suggestions ✨
|
CI Failure Feedback 🧐(Checks updated until commit f83ad29)
✨ CI feedback usage guide:The CI feedback tool (
In addition to being automatically triggered, the tool can also be invoked manually by commenting on a PR:
where Configuration options
See more information about the |
I just stumbled into another usecase for this, the e.g. a open Socket is Before the client timeout: And while looking into this another usecase inside the |
Okay, there is no need to keep the session alive, the read timeout of the node is identical to the session timeout. |
f671366
to
8326c3e
Compare
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.
LGTM!
CI passed, so I would like to merge and include this in release 4.26.0
User description
Description
This change will allow enable the httpclient to perform async requests.
Motivation and Context
see #14403
Types of changes
Checklist
PR Type
Enhancement, Tests
Description
HttpClient
interface usingCompletableFuture
.executeAsync
method inJdkHttpClient
with proper timeout handling and error management.execute0
with synchronous execution to avoid known JDK issues.Changes walkthrough 📝
HttpClient.java
Add asynchronous HTTP request capability to HttpClient
java/src/org/openqa/selenium/remote/http/HttpClient.java
executeAsync
method to perform asynchronous HTTP requests.CompletableFuture
for async operations.JdkHttpClient.java
Implement async execution and improve error handling in JdkHttpClient
java/src/org/openqa/selenium/remote/http/jdk/JdkHttpClient.java
executeAsync
method with timeout handling.sendAsync
with synchronoussend
inexecute0
.HttpClientTestBase.java
Add test for request timeout handling in HttpClient
java/test/org/openqa/selenium/remote/internal/HttpClientTestBase.java
AtomicInteger
to track request attempts.