Fixing integration test to pass spurious lease update fix.
This commit is contained in:
parent
96024bd7f9
commit
45fa933bc0
3 changed files with 27 additions and 18 deletions
|
|
@ -110,7 +110,7 @@ public class LeaseManagerIntegrationTest extends LeaseIntegrationTest {
|
|||
|
||||
leaseManager.renewLease(lease);
|
||||
|
||||
Assert.assertFalse(leaseManager.renewLease(leaseCopy));
|
||||
Assert.assertTrue(leaseManager.renewLease(leaseCopy));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -14,17 +14,16 @@
|
|||
*/
|
||||
package com.amazonaws.services.kinesis.leases.impl;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.Executors;
|
||||
|
||||
import com.amazonaws.services.kinesis.clientlibrary.types.ExtendedSequenceNumber;
|
||||
import com.amazonaws.services.kinesis.leases.exceptions.LeasingException;
|
||||
import com.amazonaws.services.kinesis.leases.interfaces.ILeaseRenewer;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.amazonaws.services.kinesis.clientlibrary.types.ExtendedSequenceNumber;
|
||||
import com.amazonaws.services.kinesis.leases.exceptions.LeasingException;
|
||||
import com.amazonaws.services.kinesis.leases.interfaces.ILeaseRenewer;
|
||||
import java.util.Collections;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.Executors;
|
||||
|
||||
public class LeaseRenewerIntegrationTest extends LeaseIntegrationTest {
|
||||
|
||||
|
|
@ -59,7 +58,7 @@ public class LeaseRenewerIntegrationTest extends LeaseIntegrationTest {
|
|||
KinesisClientLease renewedLease = builder.renewMutateAssert(renewer, "1", "2").get("2");
|
||||
|
||||
leaseManager.updateLease(renewedLease);
|
||||
builder.renewMutateAssert(renewer, "1");
|
||||
builder.renewMutateAssert(renewer, "1", "2");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -108,11 +107,12 @@ public class LeaseRenewerIntegrationTest extends LeaseIntegrationTest {
|
|||
|
||||
leaseManager.updateLease(lease2); // lose lease 2
|
||||
// Do another renewal and make sure the copy doesn't change
|
||||
builder.renewMutateAssert(renewer, "1");
|
||||
builder.renewMutateAssert(renewer, "1", "2");
|
||||
|
||||
heldLeases = renewer.getCurrentlyHeldLeases();
|
||||
Assert.assertEquals(2, heldLeases.size());
|
||||
Assert.assertEquals((Long) 1L, heldLeases.get("1").getLeaseCounter());
|
||||
Assert.assertEquals((Long) 1L, heldLeases.get("2").getLeaseCounter());
|
||||
Assert.assertEquals((Long) 2L, heldLeases.get("1").getLeaseCounter());
|
||||
Assert.assertEquals((Long) 2L, heldLeases.get("2").getLeaseCounter());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -177,10 +177,10 @@ public class LeaseRenewerIntegrationTest extends LeaseIntegrationTest {
|
|||
|
||||
// cause lease loss such that the renewer knows the lease has been lost when update is called
|
||||
leaseManager.renewLease(lease);
|
||||
builder.renewMutateAssert(renewer);
|
||||
builder.renewMutateAssert(renewer, "1");
|
||||
|
||||
lease.setCheckpoint(new ExtendedSequenceNumber("new checkpoint"));
|
||||
Assert.assertFalse(renewer.updateLease(lease, lease.getConcurrencyToken()));
|
||||
Assert.assertTrue(renewer.updateLease(lease, lease.getConcurrencyToken()));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -196,7 +196,7 @@ public class LeaseRenewerIntegrationTest extends LeaseIntegrationTest {
|
|||
|
||||
// cause lease loss such that the renewer knows the lease has been lost when update is called
|
||||
leaseManager.renewLease(lease);
|
||||
builder.renewMutateAssert(renewer);
|
||||
builder.renewMutateAssert(renewer, "1");
|
||||
|
||||
// regain the lease
|
||||
builder.addLeasesToRenew(renewer, "1");
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ public class TestHarnessBuilder {
|
|||
|
||||
private Map<String, KinesisClientLease> leases = new HashMap<String, KinesisClientLease>();
|
||||
private KinesisClientLeaseManager leaseManager;
|
||||
private Map<String, KinesisClientLease> originalLeases = new HashMap<>();
|
||||
|
||||
private Callable<Long> timeProvider = new Callable<Long>() {
|
||||
|
||||
|
|
@ -54,6 +55,15 @@ public class TestHarnessBuilder {
|
|||
}
|
||||
|
||||
public TestHarnessBuilder withLease(String shardId, String owner) {
|
||||
KinesisClientLease lease = createLease(shardId, owner);
|
||||
KinesisClientLease originalLease = createLease(shardId, owner);
|
||||
|
||||
leases.put(shardId, lease);
|
||||
originalLeases.put(shardId, originalLease);
|
||||
return this;
|
||||
}
|
||||
|
||||
private KinesisClientLease createLease(String shardId, String owner) {
|
||||
KinesisClientLease lease = new KinesisClientLease();
|
||||
lease.setCheckpoint(new ExtendedSequenceNumber("checkpoint"));
|
||||
lease.setOwnerSwitchesSinceCheckpoint(0L);
|
||||
|
|
@ -62,8 +72,7 @@ public class TestHarnessBuilder {
|
|||
lease.setParentShardIds(Collections.singleton("parentShardId"));
|
||||
lease.setLeaseKey(shardId);
|
||||
|
||||
leases.put(shardId, lease);
|
||||
return this;
|
||||
return lease;
|
||||
}
|
||||
|
||||
public Map<String, KinesisClientLease> build() throws LeasingException {
|
||||
|
|
@ -147,7 +156,7 @@ public class TestHarnessBuilder {
|
|||
Assert.assertEquals(renewedShardIds.length, heldLeases.size());
|
||||
|
||||
for (String shardId : renewedShardIds) {
|
||||
KinesisClientLease original = leases.get(shardId);
|
||||
KinesisClientLease original = originalLeases.get(shardId);
|
||||
Assert.assertNotNull(original);
|
||||
|
||||
KinesisClientLease actual = heldLeases.get(shardId);
|
||||
|
|
|
|||
Loading…
Reference in a new issue