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

Reply via email to