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);
}
}