-
Notifications
You must be signed in to change notification settings - Fork 671
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
SOLR-17240: Fix Http2SolrClient maxConnectionsPerDestination usage #2410
base: main
Are you sure you want to change the base?
Conversation
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.
Oh wow, I thought it was just defaulting to 4 and you couldn't necessarily change that everywhere in internal use because I saw the setMaxConnectionsPerHost in the builder. I didn't realize that that is a complete noop for http2 mode. That seems like a silly choice in any scenario.
javadoc should be updated on HttpSolrClientBuilderBase.withMaxConnectionsPerHost(int), explaining the new difference between how this is handled for http1 vs http2. I wonder, to approximate similar high-level behavior for http1 vs http2, could the http2 client, under the hood, interpret this setting as |
Ok I've updated the docs, and used the This should probably be good to go? |
I don't think you want to do that, this should do what it says and set the max connections and not relate to multiplexing. Multiplexing should be it's own setter if you want it be configurable but trying to tie the two together really wouldn't do the user any favors. |
Fair point mark. I'll make these things independent, add documentation, and make the defaults across solr make sense for both http1 and http2. |
Anything I can do to help this move forward? (Testing wise!). |
I came across this article where they tested with various different combinations of concurrent Streams and number of http connections.
For them 4 clients and 256 concurrent streams gives highest throughput. We should try to test it with different configuration and try to find the right configuration that works for us. Also, I believe, most of the Recovery code in main branch is now using HTTP2 and we can start with testing that part. NOTE :- maxConcurrentStreams is a server level configuration. |
This PR has had no activity for 60 days and is now labeled as stale. Any new activity or converting it to draft will remove the stale label. To attract more reviewers, please tag people who might be familiar with the code area and/or notify the [email protected] mailing list. Thank you for your contribution! |
@iamsanjay did you get a chance to look at this one from a testing perspective? Seems like such a great ticket... |
Curious if this change has been tested/deployed in any way? |
This PR has had no activity for 60 days and is now labeled as stale. Any new activity will remove the stale label. To attract more reviewers, please tag people who might be familiar with the code area and/or notify the [email protected] mailing list. To exempt this PR from being marked as stale, make it a draft PR or add the label "exempt-stale". If left unattended, this PR will be closed after another 60 days of inactivity. Thank you for your contribution! |
https://issues.apache.org/jira/browse/SOLR-17240