Description
objectives:
- to allow users to change RecoveryStrategy settings such as maxRetries and startingRecoveryDelay
- to support configuration of a custom recovery strategy e.g. SOLR-9044
patch summary:
- support for optional <recoveryStrategy> solrconfig.xml element added (if element is present then its class attribute is optional)
- RecoveryStrategy settings now have getters/setters
- RecoveryStrategy.Builder added (and RecoveryStrategy constructor made non-public in favour of RecoveryStrategy.Builder.create)
- protected RecoveryStrategy.getReplicateLeaderUrl method factored out (ConfigureRecoveryStrategyTest$CustomRecoveryStrategyBuilder test illustrates how SOLR-9044 might override the method)
- ConfigureRecoveryStrategyTest.java using solrconfig-configurerecoverystrategy.xml or solrconfig-customrecoverystrategy.xml
illustrative solrconfig.xml snippets:
- change a RecoveryStrategy setting
<recoveryStrategy> <int name="maxRetries">250</int> </recoveryStrategy>
- configure a custom class
<recoveryStrategy class="org.apache.solr.core.ConfigureRecoveryStrategyTest$CustomRecoveryStrategyBuilder"> <str name="alternativeBaseUrlProp">recovery_base_url</str> </recoveryStrategy>