-
Notifications
You must be signed in to change notification settings - Fork 25.6k
Do not use system properties when building the HttpAsyncClient #27829
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
Conversation
This commit removes the usage of system properties for the HttpAsyncClient as this overrides some defaults that we intentionally change. In order to set the default SSLContext to the system context we set the SSLContext on the builder explicitly. Closes elastic#27827
| public CloseableHttpAsyncClient run() { | ||
| return finalBuilder.build(); | ||
| .setMaxConnPerRoute(DEFAULT_MAX_CONN_PER_ROUTE).setMaxConnTotal(DEFAULT_MAX_CONN_TOTAL) | ||
| .setSSLContext(SSLContext.getDefault()); |
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.
I just want to point out that this is slightly different from what is happening now. When it uses the system properties, Apache is calling SSLContexts.createSystemDefault(). Which does:
try {
return SSLContext.getDefault();
} catch (final NoSuchAlgorithmException ex) {
return createDefault();
}
And createDefault():
try {
final SSLContext sslcontext = SSLContext.getInstance(SSLContextBuilder.TLS);
sslcontext.init(null, null, null);
return sslcontext;
} catch (final NoSuchAlgorithmException ex) {
throw new SSLInitializationException(ex.getMessage(), ex);
} catch (final KeyManagementException ex) {
throw new SSLInitializationException(ex.getMessage(), ex);
}
You know better than I if that change is okay. I just wanted to point it out.
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.
Thanks for looking into this. I was aware of it and the behavior change was intentional; I think the previous method was too lenient in that it silently ignored a bad parameter and swallowed the exception.
Tim-Brooks
left a comment
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. One comment.
This commit removes the usage of system properties for the HttpAsyncClient as this overrides some defaults that we intentionally change. In order to set the default SSLContext to the system context we set the SSLContext on the builder explicitly. Closes #27827
This commit removes the usage of system properties for the HttpAsyncClient as this overrides some defaults that we intentionally change. In order to set the default SSLContext to the system context we set the SSLContext on the builder explicitly. Closes #27827
This commit removes the usage of system properties for the HttpAsyncClient as this overrides some defaults that we intentionally change. In order to set the default SSLContext to the system context we set the SSLContext on the builder explicitly. Closes #27827
This commit removes the usage of system properties for the HttpAsyncClient as this overrides some defaults that we intentionally change. In order to set the default SSLContext to the system context we set the SSLContext on the builder explicitly. Closes #27827
* es/6.x: (170 commits) Allow TrimFilter to be used in custom normalizers (#27758) recovery from snapshot should fill gaps (#27850) Remove unused class PreBuiltTokenFilters (#27839) Reject scroll query if size is 0 (#22552) (#27842) Mutes ‘Rollover no condition matched’ YAML test Make randomNonNegativeLong() draw from a uniform distribution (#27856) Adapt rest test after backport. Relates #27833 Handle case where the hole vertex is south of the containing polygon(s) (#27685) Move range field mapper back to core Fix publication of elasticsearch-cli to Maven Do not use system properties when building the HttpAsyncClient (#27829) Optimize version map for append-only indexing (#27752) Add NioGroup for use in different transports (#27737) adapt field collapsing skip test version. relates #27833 Add version support for inner hits in field collapsing (#27822) (#27833) Clarify that number of threads is set by packages Register HTTP read timeout setting Fixes Checkstyle Remove `operationThreaded` from Java API (#27836) Fixes failing BytesSizeValues tests ...
This commit removes the usage of system properties for the HttpAsyncClient as this overrides some
defaults that we intentionally change. In order to set the default SSLContext to the system context
we set the SSLContext on the builder explicitly.
Closes #27827