HoustonPutman opened a new pull request, #3434: URL: https://github.com/apache/solr/pull/3434
https://issues.apache.org/jira/browse/SOLR-17821 The scenario: - A restore or shard install is called on a shard - A non-leader replica succeeds, all else fail Currently, the following happens: - The ZK Shard terms are updated to ensure that all terms are non-zero - A failure is returned - But the cluster state is unchanged, and all shards are still in the state the started at. Even though not all have the same index What we want to happen: - The ZK Shard terms are updated such that the successful replica(s) are the highest terms - Since the leader is no longer the highest term, it should give up leadership - All failing replicas should go into Leader-Initiated-Recovery - Once recovery has started, our InstallShard/Recovery command can succeed since the results will be what the user expects - We can add a `waitForAllReplicasToBeHealthy` option to wait for the recoveries to finish This requires a few changes: - [ ] Obviously we want to fix the Restore and InstallShard commands to update shard terms correctly - [x] Leadership should be given up when the shard term is lower than the highest shard term - [x] Recovery should succeed even though the collection is in read-only mode - [ ] The tests should be able to test that the leader fails, and all other replicas succeed - [ ] Recover and InstallShard should manipulate the responses, so that the AsyncTracker does not think we are unsuccessful when replicas are put into recovery - [ ] We should add flags so that the user can control which replicas to download to, and when the response should be sent back (after recovery or not). - [x] The `CollectionHandlingUtils` need to encode and save coreName with requests/responses, in order to distinguish multiple core requests sent to the same node. -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
