Skip to content

Commit 502c3d8

Browse files
authored
Fix ordering problem in add or renew lease test (elastic#38281)
We have to set the primary term before we add a retention lease, otherwise we can not assert the correct primary term.
1 parent 04e47a5 commit 502c3d8

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

server/src/test/java/org/elasticsearch/index/seqno/ReplicationTrackerRetentionLeaseTests.java

+3-4
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@
5050

5151
public class ReplicationTrackerRetentionLeaseTests extends ReplicationTrackerTestCase {
5252

53-
@AwaitsFix(bugUrl = "https://github.com/elastic/elasticsearch/issues/38245")
5453
public void testAddOrRenewRetentionLease() {
5554
final AllocationId allocationId = AllocationId.newInitializing();
5655
long primaryTerm = randomLongBetween(1, Long.MAX_VALUE);
@@ -72,13 +71,13 @@ public void testAddOrRenewRetentionLease() {
7271
final int length = randomIntBetween(0, 8);
7372
final long[] minimumRetainingSequenceNumbers = new long[length];
7473
for (int i = 0; i < length; i++) {
75-
minimumRetainingSequenceNumbers[i] = randomLongBetween(SequenceNumbers.NO_OPS_PERFORMED, Long.MAX_VALUE);
76-
replicationTracker.addRetentionLease(
77-
Integer.toString(i), minimumRetainingSequenceNumbers[i], "test-" + i, ActionListener.wrap(() -> {}));
7874
if (rarely() && primaryTerm < Long.MAX_VALUE) {
7975
primaryTerm = randomLongBetween(primaryTerm + 1, Long.MAX_VALUE);
8076
replicationTracker.setOperationPrimaryTerm(primaryTerm);
8177
}
78+
minimumRetainingSequenceNumbers[i] = randomLongBetween(SequenceNumbers.NO_OPS_PERFORMED, Long.MAX_VALUE);
79+
replicationTracker.addRetentionLease(
80+
Integer.toString(i), minimumRetainingSequenceNumbers[i], "test-" + i, ActionListener.wrap(() -> {}));
8281
assertRetentionLeases(replicationTracker, i + 1, minimumRetainingSequenceNumbers, () -> 0L, primaryTerm, 1 + i, true);
8382
}
8483

0 commit comments

Comments
 (0)