Fix ordering problem in add or renew lease test (#38280)
We have to set the primary term before we add a retention lease, otherwise we can not assert the correct primary term.
This commit is contained in:
parent
6ca7a913ea
commit
d2cc1459a3
|
@ -50,7 +50,6 @@ import static org.hamcrest.Matchers.lessThanOrEqualTo;
|
||||||
|
|
||||||
public class ReplicationTrackerRetentionLeaseTests extends ReplicationTrackerTestCase {
|
public class ReplicationTrackerRetentionLeaseTests extends ReplicationTrackerTestCase {
|
||||||
|
|
||||||
@AwaitsFix(bugUrl = "https://github.com/elastic/elasticsearch/issues/38245")
|
|
||||||
public void testAddOrRenewRetentionLease() {
|
public void testAddOrRenewRetentionLease() {
|
||||||
final AllocationId allocationId = AllocationId.newInitializing();
|
final AllocationId allocationId = AllocationId.newInitializing();
|
||||||
long primaryTerm = randomLongBetween(1, Long.MAX_VALUE);
|
long primaryTerm = randomLongBetween(1, Long.MAX_VALUE);
|
||||||
|
@ -72,13 +71,13 @@ public class ReplicationTrackerRetentionLeaseTests extends ReplicationTrackerTes
|
||||||
final int length = randomIntBetween(0, 8);
|
final int length = randomIntBetween(0, 8);
|
||||||
final long[] minimumRetainingSequenceNumbers = new long[length];
|
final long[] minimumRetainingSequenceNumbers = new long[length];
|
||||||
for (int i = 0; i < length; i++) {
|
for (int i = 0; i < length; i++) {
|
||||||
minimumRetainingSequenceNumbers[i] = randomLongBetween(SequenceNumbers.NO_OPS_PERFORMED, Long.MAX_VALUE);
|
|
||||||
replicationTracker.addRetentionLease(
|
|
||||||
Integer.toString(i), minimumRetainingSequenceNumbers[i], "test-" + i, ActionListener.wrap(() -> {}));
|
|
||||||
if (rarely() && primaryTerm < Long.MAX_VALUE) {
|
if (rarely() && primaryTerm < Long.MAX_VALUE) {
|
||||||
primaryTerm = randomLongBetween(primaryTerm + 1, Long.MAX_VALUE);
|
primaryTerm = randomLongBetween(primaryTerm + 1, Long.MAX_VALUE);
|
||||||
replicationTracker.setOperationPrimaryTerm(primaryTerm);
|
replicationTracker.setOperationPrimaryTerm(primaryTerm);
|
||||||
}
|
}
|
||||||
|
minimumRetainingSequenceNumbers[i] = randomLongBetween(SequenceNumbers.NO_OPS_PERFORMED, Long.MAX_VALUE);
|
||||||
|
replicationTracker.addRetentionLease(
|
||||||
|
Integer.toString(i), minimumRetainingSequenceNumbers[i], "test-" + i, ActionListener.wrap(() -> {}));
|
||||||
assertRetentionLeases(replicationTracker, i + 1, minimumRetainingSequenceNumbers, () -> 0L, primaryTerm, 1 + i, true);
|
assertRetentionLeases(replicationTracker, i + 1, minimumRetainingSequenceNumbers, () -> 0L, primaryTerm, 1 + i, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue