From 8c856d6d913e37416ca242d42852bc03947075a4 Mon Sep 17 00:00:00 2001 From: Yannick Welsch Date: Thu, 20 Jun 2019 17:29:01 +0200 Subject: [PATCH] Adapt local checkpoint assertion With async durability, it does not hold true anymore after #43205. This is fine. --- .../src/main/java/org/elasticsearch/index/shard/IndexShard.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/main/java/org/elasticsearch/index/shard/IndexShard.java b/server/src/main/java/org/elasticsearch/index/shard/IndexShard.java index 9f7e51f0da0..2372353ef85 100644 --- a/server/src/main/java/org/elasticsearch/index/shard/IndexShard.java +++ b/server/src/main/java/org/elasticsearch/index/shard/IndexShard.java @@ -2198,7 +2198,7 @@ public class IndexShard extends AbstractIndexShardComponent implements IndicesCl "only primary relocation target can update allocation IDs from primary context: " + shardRouting; assert primaryContext.getCheckpointStates().containsKey(routingEntry().allocationId().getId()) && getLocalCheckpoint() == primaryContext.getCheckpointStates().get(routingEntry().allocationId().getId()) - .getLocalCheckpoint(); + .getLocalCheckpoint() || indexSettings().getTranslogDurability() == Translog.Durability.ASYNC; synchronized (mutex) { replicationTracker.activateWithPrimaryContext(primaryContext); // make changes to primaryMode flag only under mutex }