justinrsweeney opened a new pull request, #1055: URL: https://github.com/apache/solr/pull/1055
Fixing a bug where non-batched PRS updates could reset counters resulting in batched non-PRS being skipped. This occurs when mixed PRS/non-PRS collections are used in the same cluster. https://issues.apache.org/jira/browse/SOLR-16453 # Description This is a bug in ZkStateWriter that can occur when using both PRS and non-PRS collections in the same cluster. The issue here is that PRS updates through overseer are not batched, but non-PRS updates are batched. When using both PRS and non-PRS in the same cluster, a PRS collection update through overseer will be immediately written to ZK and will reset the counters that control when to flush batched updates without actually flushing the batched updates. The result is that updates that were batched can be skipped entirely. # Solution The fix here is to avoid resetting the counters that control when to flush batch updates when we are processing an updates for a PRS collection in ZkStateWriter. # Tests I have added tests for ZkStateWriter that perform updates for both PRS collections and non-PRS collections concurrently to ensure that even in a cluster that is using a mix of PRS and non-PRS collections, updates for both types will be processed correctly. # Checklist Please review the following and check all that apply: - [X] I have reviewed the guidelines for [How to Contribute](https://wiki.apache.org/solr/HowToContribute) and my code conforms to the standards described there to the best of my ability. - [X] I have created a Jira issue and added the issue ID to my pull request title. - [ ] I have given Solr maintainers [access](https://help.github.com/en/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork) to contribute to my PR branch. (optional but recommended) - [X] I have developed this patch against the `main` branch. - [X] I have run `./gradlew check`. - [X] I have added tests for my changes. - [ ] I have added documentation for the [Reference Guide](https://github.com/apache/solr/tree/main/solr/solr-ref-guide) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org For additional commands, e-mail: issues-h...@solr.apache.org