You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by sh...@apache.org on 2018/08/01 08:02:56 UTC

lucene-solr:jira/solr-12607: SOLR-12607: versionAdd, versionDelete and versionDeleteByQuery should skip setting the IGNORE_INDEXWRITER flag if this replica is a sub-shard leader

Repository: lucene-solr
Updated Branches:
  refs/heads/jira/solr-12607 d45d8596c -> 1bc3b0da7


SOLR-12607: versionAdd, versionDelete and versionDeleteByQuery should skip setting the IGNORE_INDEXWRITER flag if this replica is a sub-shard leader

This fixes the bug where updates can be lost because sub-shard leader (of type tlog) will only add updates forwarded from parent shard leader to its tlog and not to the index.


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/1bc3b0da
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/1bc3b0da
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/1bc3b0da

Branch: refs/heads/jira/solr-12607
Commit: 1bc3b0da752676571676b173d3a75335682be1cc
Parents: d45d859
Author: Shalin Shekhar Mangar <sh...@apache.org>
Authored: Wed Aug 1 13:32:23 2018 +0530
Committer: Shalin Shekhar Mangar <sh...@apache.org>
Committed: Wed Aug 1 13:32:23 2018 +0530

----------------------------------------------------------------------
 .../apache/solr/update/processor/DistributedUpdateProcessor.java | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/1bc3b0da/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java b/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java
index 1360ed1..da6849f 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java
@@ -1693,7 +1693,7 @@ public class DistributedUpdateProcessor extends UpdateRequestProcessor {
             return;
           }
 
-          if (replicaType == Replica.Type.TLOG && (cmd.getFlags() & UpdateCommand.REPLAY) == 0) {
+          if (!isSubShardLeader && replicaType == Replica.Type.TLOG && (cmd.getFlags() & UpdateCommand.REPLAY) == 0) {
             // TLOG replica not leader, don't write the DBQ to IW
             cmd.setFlags(cmd.getFlags() | UpdateCommand.IGNORE_INDEXWRITER);
           }
@@ -1852,7 +1852,7 @@ public class DistributedUpdateProcessor extends UpdateRequestProcessor {
               }
             }
 
-            if (replicaType == Replica.Type.TLOG && (cmd.getFlags() & UpdateCommand.REPLAY) == 0) {
+            if (!isSubShardLeader && replicaType == Replica.Type.TLOG && (cmd.getFlags() & UpdateCommand.REPLAY) == 0) {
               cmd.setFlags(cmd.getFlags() | UpdateCommand.IGNORE_INDEXWRITER);
             }
           }