praste opened a new pull request #238: URL: https://github.com/apache/solr/pull/238
# Description https://issues.apache.org/jira/browse/SOLR-15286 In the legacy mode when you add a brand new follower it immediately starts reporting healthy even if it hasn't fully replicated index from its leader. This issue is also exhibited when you shut down a follower and start it after a lot of data is indexed on the leader. If the follower reports healthy LB would continue to forward incoming requests to it and this would result in inconsistent data being retuned to the caller. # Solution On a follower in the legacy mode`HealthCheckHandler` should check if all cores have replicated the index from the leader within an acceptable delta before reporting healthy. For each core in the container which is a follower * Get the replicable commit generation from the leader * Get cores own latest commit generation * If the cores commit generation is within acceptable delta from the leader, then cache the result in a map * If all cores have commit generation within acceptable delta then return 200 OK There is another option to keep checking if follower's commit generation is within acceptable limit from the leader and not just the first time. # Tests Added a new test `TestHealthCheckHandlerLegacyMode` # 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. - [X] 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