thelabdude opened a new pull request #133:
URL: https://github.com/apache/solr/pull/133
# Description
IndexFetcher was triggering a local commit for a PULL replica core which
caused a race condition where the PULL replica would think its index generation
/ version were the same as the leader (see log I posted in JIRA).
From IndexFetcher, line 479:
```
if (skipCommitOnLeaderVersionZero) {
openNewSearcherAndUpdateCommitPoint();
} else {
SolrQueryRequest req = new LocalSolrQueryRequest(solrCore, new
ModifiableSolrParams());
solrCore.getUpdateHandler().commit(new CommitUpdateCommand(req,
false));
}
```
This would cause the PULL replica to not sync index updates with the leader
in the tests (since they do it doc at a time).
# Solution
I don't think PULL replicas should ever commit locally and should always get
the index from the leader. So this PR ensures that
`skipCommitOnLeaderVersionZero` is `true` for PULL replicas, which avoids this
race condition.
# Tests
Removing `@BadApple` from several flaky tests that pass consistently now:
200/200 beasts (tests would fail within about 40 beast runs w/o this fix)
# Checklist
Please review the following and check all that apply:
- [ ] 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.
- [ ] 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)
- [ ] 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](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.
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]