Adding method to lose leases. Fixing tests to do what the previous did.
This commit is contained in:
parent
45fa933bc0
commit
359b810601
3 changed files with 26 additions and 16 deletions
|
|
@ -16,6 +16,7 @@ package com.amazonaws.services.kinesis.leases.impl;
|
|||
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import com.amazonaws.services.kinesis.leases.exceptions.LeasingException;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.junit.Ignore;
|
||||
|
|
@ -71,4 +72,9 @@ public class LeaseIntegrationTest {
|
|||
}
|
||||
};
|
||||
|
||||
protected void loseLease(KinesisClientLease lease) throws LeasingException {
|
||||
// Need to call update 2 times because 1st time would be considered to be spurious update for the lease.
|
||||
leaseManager.updateLease(lease);
|
||||
leaseManager.updateLease(lease);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -108,9 +108,10 @@ public class LeaseManagerIntegrationTest extends LeaseIntegrationTest {
|
|||
|
||||
KinesisClientLease leaseCopy = leaseManager.getLease(lease.getLeaseKey());
|
||||
|
||||
leaseManager.renewLease(lease);
|
||||
leaseManager.renewLease(lease);
|
||||
|
||||
Assert.assertTrue(leaseManager.renewLease(leaseCopy));
|
||||
Assert.assertFalse(leaseManager.renewLease(leaseCopy));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -57,8 +57,10 @@ public class LeaseRenewerIntegrationTest extends LeaseIntegrationTest {
|
|||
builder.addLeasesToRenew(renewer, "1", "2");
|
||||
KinesisClientLease renewedLease = builder.renewMutateAssert(renewer, "1", "2").get("2");
|
||||
|
||||
leaseManager.updateLease(renewedLease);
|
||||
builder.renewMutateAssert(renewer, "1", "2");
|
||||
// lose lease 2
|
||||
loseLease(renewedLease);
|
||||
|
||||
builder.renewMutateAssert(renewer, "1");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -95,9 +97,9 @@ public class LeaseRenewerIntegrationTest extends LeaseIntegrationTest {
|
|||
public void testGetCurrentlyHeldLeases() throws LeasingException {
|
||||
TestHarnessBuilder builder = new TestHarnessBuilder(leaseManager);
|
||||
|
||||
KinesisClientLease lease2 = builder.withLease("1", "foo").withLease("2", "foo").build().get("2");
|
||||
builder.withLease("1", "foo").withLease("2", "foo").build();
|
||||
builder.addLeasesToRenew(renewer, "1", "2");
|
||||
builder.renewMutateAssert(renewer, "1", "2");
|
||||
KinesisClientLease lease2 = builder.renewMutateAssert(renewer, "1", "2").get("2");
|
||||
|
||||
// This should be a copy that doesn't get updated
|
||||
Map<String, KinesisClientLease> heldLeases = renewer.getCurrentlyHeldLeases();
|
||||
|
|
@ -105,14 +107,15 @@ public class LeaseRenewerIntegrationTest extends LeaseIntegrationTest {
|
|||
Assert.assertEquals((Long) 1L, heldLeases.get("1").getLeaseCounter());
|
||||
Assert.assertEquals((Long) 1L, heldLeases.get("2").getLeaseCounter());
|
||||
|
||||
leaseManager.updateLease(lease2); // lose lease 2
|
||||
// Do another renewal and make sure the copy doesn't change
|
||||
builder.renewMutateAssert(renewer, "1", "2");
|
||||
// lose lease 2
|
||||
loseLease(lease2);
|
||||
|
||||
// Do another renewal and make sure the copy doesn't change
|
||||
builder.renewMutateAssert(renewer, "1");
|
||||
|
||||
heldLeases = renewer.getCurrentlyHeldLeases();
|
||||
Assert.assertEquals(2, heldLeases.size());
|
||||
Assert.assertEquals((Long) 2L, heldLeases.get("1").getLeaseCounter());
|
||||
Assert.assertEquals((Long) 2L, heldLeases.get("2").getLeaseCounter());
|
||||
Assert.assertEquals((Long) 1L, heldLeases.get("1").getLeaseCounter());
|
||||
Assert.assertEquals((Long) 1L, heldLeases.get("2").getLeaseCounter());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -176,11 +179,11 @@ public class LeaseRenewerIntegrationTest extends LeaseIntegrationTest {
|
|||
KinesisClientLease lease = renewer.getCurrentlyHeldLease("1");
|
||||
|
||||
// cause lease loss such that the renewer knows the lease has been lost when update is called
|
||||
leaseManager.renewLease(lease);
|
||||
builder.renewMutateAssert(renewer, "1");
|
||||
loseLease(lease);
|
||||
builder.renewMutateAssert(renewer);
|
||||
|
||||
lease.setCheckpoint(new ExtendedSequenceNumber("new checkpoint"));
|
||||
Assert.assertTrue(renewer.updateLease(lease, lease.getConcurrencyToken()));
|
||||
Assert.assertFalse(renewer.updateLease(lease, lease.getConcurrencyToken()));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -195,8 +198,8 @@ public class LeaseRenewerIntegrationTest extends LeaseIntegrationTest {
|
|||
KinesisClientLease lease = renewer.getCurrentlyHeldLease("1");
|
||||
|
||||
// cause lease loss such that the renewer knows the lease has been lost when update is called
|
||||
leaseManager.renewLease(lease);
|
||||
builder.renewMutateAssert(renewer, "1");
|
||||
loseLease(lease);
|
||||
builder.renewMutateAssert(renewer);
|
||||
|
||||
// regain the lease
|
||||
builder.addLeasesToRenew(renewer, "1");
|
||||
|
|
|
|||
Loading…
Reference in a new issue