[ 
https://issues.apache.org/jira/browse/SOLR-8034?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16637181#comment-16637181
 ] 

ASF subversion and git services commented on SOLR-8034:
-------------------------------------------------------

Commit 46f753d7c6df52c06d970a13d3b742310276f2ca in lucene-solr's branch 
refs/heads/master from Tomas Fernandez Lobbe
[ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=46f753d ]

SOLR-12767: Always include the achieved rf in the response

This commit deprecates the min_rf parameter. Solr now always includes the 
achieved replication
factor in the update requests (as if min_rf was always specified). Also, 
reverts the changes
introduced in SOLR-8034, replicas that don't ack an update will have to recover 
to prevent
inconsistent shards.


> If minRF is not satisfied, leader should not put replicas in recovery
> ---------------------------------------------------------------------
>
>                 Key: SOLR-8034
>                 URL: https://issues.apache.org/jira/browse/SOLR-8034
>             Project: Solr
>          Issue Type: Improvement
>          Components: SolrCloud
>            Reporter: Jessica Cheng Mallet
>            Assignee: Anshum Gupta
>            Priority: Major
>              Labels: solrcloud
>             Fix For: 5.4, 6.0
>
>         Attachments: SOLR-8034.patch, SOLR-8034.patch
>
>
> If the minimum replication factor parameter (minRf) in a solr update request 
> is not satisfied -- i.e. if the update was not successfully applied on at 
> least n replicas where n >= minRf -- the shard leader should not put the 
> failed replicas in "leader initiated recovery" and the client should retry 
> the update instead.
> This is so that in the scenario were minRf is not satisfied, the failed 
> replicas can still be eligible to become a leader in case of leader failure, 
> since in the client's perspective this update did not succeed.
> This came up from a network partition scenario where the leader becomes 
> sectioned off from its two followers, but they all could still talk to 
> zookeeper. The partitioned leader set its two followers as in leader 
> initiated recovery, so we couldn't just kill off the partitioned node and 
> have a follower take over leadership. For a minRf=1 case, this is the correct 
> behavior because the partitioned leader would have accepted updates that the 
> followers don't have, and therefore we can't switch leadership or we'd lose 
> those updates. However, in the case of minRf=2, solr never accepted any 
> update in the client's point of view, so in fact the partitioned leader 
> doesn't have any accepted update that the followers don't have, and therefore 
> the followers should be eligible to become leaders. Thus, I'm proposing 
> modifying the leader initiated recovery logic to not put the followers in 
> recovery if the minRf parameter is present and is not satisfied.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to