[SOLR-8619] A new replica should not become leader when all current replicas are down as it leads to data loss - ASF JIRA



[SOLR-8619] A new replica should not become leader when all current replicas are down as it leads to data loss - ASF JIRA

Here's what I'm talking about:

  • Start a 2 node solrcloud cluster
  • Create a 1 shard/1 replica collection
  • Add documents
  • Shut down the node that has the only active shard
  • ADDREPLICA for the shard/collection, so Solr would attempt to add a new replica on the other node
  • Solr waits for a while before this replica becomes an active leader.
  • Index a few new docs
  • Bring up the old node
  • The replica comes up, with it's old index and then syncs to only contain the docs from the new leader.
    All old documents are lost in this case

Here are a few things that might work here:
1. Reject an ADDREPLICA call if all current replicas for the shard are down. Considering the new replica can not sync from anyone, it doesn't make sense for this replica to even come up
2. The replica shouldn't become active/leader unless either it was the last known leader or active before it went into recovering state
unless there are no other replicas in the clusterstate.


Read full article from [SOLR-8619] A new replica should not become leader when all current replicas are down as it leads to data loss - ASF JIRA


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts