Skip to content
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-17275: Major performance regression of CloudSolrClient in Solr 9.6.0 when using aliases #2463

Merged
merged 5 commits into from
May 16, 2024

Conversation

aparnasuresh85
Copy link
Contributor

@aparnasuresh85 aparnasuresh85 commented May 15, 2024

https://issues.apache.org/jira/browse/SOLR-17275

Description

A recent change, as part of SOLR-17153 to ZkClusterStateProvider caused CloudSolrClient (zk based) to force update collection in local cluster state for aliases, which indeed caused a performance regression. Verified this using a test

Solution

Partially reverted the change from SOLR-17153 that caused the regression (behavior on the client side should be fully reverted)

Tests

Verified that all tests pass. Used a test locally to understand whether the regression specifically triggers a ZK getData - which did not happen before and after.

Checklist

Please review the following and check all that apply:

  • I have reviewed the guidelines for How to Contribute and my code conforms to the standards described there to the best of my ability.
  • I have created a Jira issue and added the issue ID to my pull request title.
  • I have given Solr maintainers access to contribute to my PR branch. (optional but recommended)
  • I have developed this patch against the main branch.
  • [] I have run ./gradlew check.
  • I have added tests for my changes.
  • I have added documentation for the Reference Guide

@dsmiley
Copy link
Contributor

dsmiley commented May 15, 2024

+1 for reverting this piece. I think we'll come back to it later when we have more time to reconsider it. I strongly suspected the root cause was an extra ZK interaction but your testing & code sleuthing suggested it's actually the synchronized -- interesting. This is a problem Solr-side too, I suppose.

@dsmiley
Copy link
Contributor

dsmiley commented May 15, 2024

Can you please update CHANGES.txt under 9.6.1 bug fix, maybe say:

SOLR-17275: SolrJ ZkClientClusterStateProvider, revert SOLR-17153 for regression when aliases are used. (your name)

solr/CHANGES.txt Outdated Show resolved Hide resolved
@dsmiley dsmiley merged commit f073dc8 into apache:main May 16, 2024
3 checks passed
dsmiley pushed a commit that referenced this pull request May 16, 2024
SolrJ ZkClientClusterStateProvider: revert SOLR-17153 for perf regression when aliases are used.  Other parts of that issue are not reverted.  Affects only Solr 9.6.

Thanks Rafał Harabień for reporting the problem.

(cherry picked from commit f073dc8)
dsmiley pushed a commit that referenced this pull request May 16, 2024
SolrJ ZkClientClusterStateProvider: revert SOLR-17153 for perf regression when aliases are used.  Other parts of that issue are not reverted.  Affects only Solr 9.6.

Thanks Rafał Harabień for reporting the problem.

(cherry picked from commit f073dc8)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants