Browse Source

Remove assertion from checkpoint tracker invariants

This assertion is wrong because the global checkpoint on a promoted
primary can be lagging the replicas until it catches up after through
resyncs, ongoing indexing operations and removing the old primary from
the in-sync set.
Jason Tedor 8 years ago
parent
commit
581a873124

+ 0 - 7
core/src/main/java/org/elasticsearch/index/seqno/GlobalCheckpointTracker.java

@@ -278,13 +278,6 @@ public class GlobalCheckpointTracker extends AbstractIndexShardComponent {
                 + "for primary mode allocation ID [" + shardAllocationId + "] "
                 + "more than in-sync local checkpoints [" + checkpoints + "]";
 
-        // when in primary mode, the local knowledge of the global checkpoints on shard copies is bounded by the global checkpoint
-        assert !primaryMode
-                || getGlobalCheckpoint() >= inSyncCheckpointStates(checkpoints, CheckpointState::getGlobalCheckpoint, LongStream::max)
-                : "global checkpoint [" + getGlobalCheckpoint() + "] "
-                + "for primary mode allocation ID [" + shardAllocationId + "] "
-                + "less than in-sync global checkpoints [" + checkpoints + "]";
-
         // we have a routing table iff we have a replication group
         assert (routingTable == null) == (replicationGroup == null) :
             "routing table is " + routingTable + " but replication group is " + replicationGroup;