mirror of https://github.com/apache/lucene.git
SOLR-12146: LIR should skip deleted replicas
This commit is contained in:
parent
b3cf209f6f
commit
160faaf594
|
@ -96,6 +96,8 @@ Optimizations
|
|||
* SOLR-11891: DocStreamer now respects the ReturnFields when populating a SolrDocument, reducing the
|
||||
number of unneccessary fields a ResponseWriter will see if documentCache is used (wei wang, hossman)
|
||||
|
||||
* SOLR-12146: LIR should skip deleted replicas (Cao Manh Dat)
|
||||
|
||||
Other Changes
|
||||
----------------------
|
||||
|
||||
|
|
|
@ -2175,7 +2175,8 @@ public class ZkController {
|
|||
}
|
||||
|
||||
// we only really need to try to start the LIR process if the node itself is "live"
|
||||
if (getZkStateReader().getClusterState().liveNodesContain(replicaNodeName)) {
|
||||
if (getZkStateReader().getClusterState().liveNodesContain(replicaNodeName)
|
||||
&& CloudUtil.replicaExists(getZkStateReader().getClusterState(), collection, shardId, replicaCoreNodeName)) {
|
||||
|
||||
LeaderInitiatedRecoveryThread lirThread =
|
||||
new LeaderInitiatedRecoveryThread(this,
|
||||
|
@ -2200,9 +2201,8 @@ public class ZkController {
|
|||
replicaNodeName + " into leader-initiated recovery.", replicaCoreProps.getCoreName(), replicaCoreNodeName);
|
||||
} else {
|
||||
nodeIsLive = false; // we really don't need to send the recovery request if the node is NOT live
|
||||
log.info("Node " + replicaNodeName +
|
||||
" is not live, so skipping leader-initiated recovery for replica: core={} coreNodeName={}",
|
||||
replicaCoreProps.getCoreName(), replicaCoreNodeName);
|
||||
log.info("Node {} is not live or replica {} is deleted, so skipping leader-initiated recovery for replica: core={}",
|
||||
replicaNodeName, replicaCoreNodeName, replicaCoreProps.getCoreName());
|
||||
// publishDownState will be false to avoid publishing the "down" state too many times
|
||||
// as many errors can occur together and will each call into this method (SOLR-6189)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue