lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Shalin Shekhar Mangar (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (SOLR-6530) Commits under network partition can put any node in down state by any node
Date Fri, 19 Sep 2014 21:52:34 GMT

     [ https://issues.apache.org/jira/browse/SOLR-6530?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Shalin Shekhar Mangar updated SOLR-6530:
----------------------------------------
    Attachment: SOLR-6530.patch

My last fix was not complete. Checking if I am the leader is not enough because commits are
broadcast to the entire collection without caring for the shards. So it is still possible
that a core which is a leader of shard2 may run LIR code for a leader/replica of another shard.

I've added a test case to reproduce this. The fix is again simple - we just don't run recovery
for commits at all.

> Commits under network partition can put any node in down state by any node
> --------------------------------------------------------------------------
>
>                 Key: SOLR-6530
>                 URL: https://issues.apache.org/jira/browse/SOLR-6530
>             Project: Solr
>          Issue Type: Bug
>          Components: SolrCloud
>            Reporter: Shalin Shekhar Mangar
>            Priority: Critical
>             Fix For: 5.0, Trunk
>
>         Attachments: SOLR-6530.patch, SOLR-6530.patch, SOLR-6530.patch, SOLR-6530.patch
>
>
> Commits are executed by any node in SolrCloud i.e. they're not routed via the leader
like other updates. 
> # Suppose there's 1 collection, 1 shard, 2 replicas (A and B) and A is the leader
> # Suppose a commit request is made to node B during a time where B cannot talk to A due
to a partition for any reason (failing switch, heavy GC, whatever)
> # B fails to distribute the commit to A (times out) and asks A to recover
> # This was okay earlier because a leader just ignores recovery requests but with leader
initiated recovery code, B puts A in the "down" state and A can never get out of that state.
> tl;dr; During network partitions, if enough commit/optimize requests are sent to the
cluster, all the nodes in the cluster will eventually be marked as "down".



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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


Mime
View raw message