From 385bc673ff3d97f9f5bb2704b9426a43a728ef1b Mon Sep 17 00:00:00 2001 From: David Turner Date: Thu, 4 Jul 2019 09:41:15 +0100 Subject: [PATCH 1/2] Update BWC version for PRRLs This commit updates the version in which PRRLs are expected to exist to 7.4.0. --- .../org/elasticsearch/index/seqno/ReplicationTracker.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/server/src/main/java/org/elasticsearch/index/seqno/ReplicationTracker.java b/server/src/main/java/org/elasticsearch/index/seqno/ReplicationTracker.java index 6b87dc3562294..0c899ba682d27 100644 --- a/server/src/main/java/org/elasticsearch/index/seqno/ReplicationTracker.java +++ b/server/src/main/java/org/elasticsearch/index/seqno/ReplicationTracker.java @@ -485,7 +485,7 @@ public synchronized void renewPeerRecoveryRetentionLeases() { * create peer recovery retention leases for every shard copy. TODO create leases lazily in that situation. */ assert checkpoints.get(shardRouting.allocationId().getId()).tracked == false - || indexSettings.getIndexVersionCreated().before(Version.V_8_0_0); + || indexSettings.getIndexVersionCreated().before(Version.V_7_4_0); return false; } return retentionLease.timestamp() <= renewalTimeMillis @@ -729,7 +729,7 @@ private boolean invariant() { if (primaryMode && indexSettings.isSoftDeleteEnabled() && indexSettings.getIndexMetaData().getState() == IndexMetaData.State.OPEN - && indexSettings.getIndexVersionCreated().onOrAfter(Version.V_8_0_0)) { + && indexSettings.getIndexVersionCreated().onOrAfter(Version.V_7_4_0)) { // all tracked shard copies have a corresponding peer-recovery retention lease for (final ShardRouting shardRouting : routingTable.assignedShards()) { if (checkpoints.get(shardRouting.allocationId().getId()).tracked) { @@ -897,7 +897,7 @@ public synchronized void activatePrimaryMode(final long localCheckpoint) { * We might have got here here via a rolling upgrade from an older version that doesn't create peer recovery retention * leases for every shard copy, but in this case we do not expect any leases to exist. */ - if (indexSettings.getIndexVersionCreated().onOrAfter(Version.V_8_0_0)) { + if (indexSettings.getIndexVersionCreated().onOrAfter(Version.V_7_4_0)) { // We are starting up the whole replication group from scratch: if we were not (i.e. this is a replica promotion) then // this copy must already be in-sync and active and therefore holds a retention lease for itself. assert routingTable.activeShards().equals(Collections.singletonList(primaryShard)) : routingTable.activeShards(); From 2d3f6fe1d57e37c3ebd6a534b7d713f602319c30 Mon Sep 17 00:00:00 2001 From: David Turner Date: Thu, 4 Jul 2019 12:39:17 +0100 Subject: [PATCH 2/2] Use PRRLs 7.x branch for BWC testing --- .ci/java-versions.properties | 1 + 1 file changed, 1 insertion(+) diff --git a/.ci/java-versions.properties b/.ci/java-versions.properties index 16b760507324d..7e1032df49851 100644 --- a/.ci/java-versions.properties +++ b/.ci/java-versions.properties @@ -7,5 +7,6 @@ ES_BUILD_JAVA=openjdk12 ES_RUNTIME_JAVA=java11 GRADLE_TASK=build +GRADLE_EXTRA_ARGS=-Dtests.bwc.refspec.7.x=peer-recovery-retention-leases-7.x