| Package | Description |
|---|---|
| software.amazon.kinesis.coordinator.assignment | |
| software.amazon.kinesis.leases | |
| software.amazon.kinesis.leases.dynamodb | |
| software.amazon.kinesis.lifecycle |
| Modifier and Type | Method and Description |
|---|---|
void |
LeaseAssignmentDecider.assignExpiredOrUnassignedLeases(List<Lease> expiredOrUnAssignedLeases)
Assigns expiredOrUnAssignedLeases to the available workers.
|
void |
VarianceBasedLeaseAssignmentDecider.assignExpiredOrUnassignedLeases(List<Lease> expiredOrUnAssignedLeases) |
| Modifier and Type | Class and Description |
|---|---|
class |
MultiStreamLease |
| Modifier and Type | Method and Description |
|---|---|
Lease |
Lease.copy()
Returns a deep copy of this object.
|
Lease |
HierarchicalShardSyncer.createLeaseForChildShard(software.amazon.awssdk.services.kinesis.model.ChildShard childShard,
StreamIdentifier streamIdentifier) |
Lease |
LeaseSerializer.fromDynamoRecord(Map<String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> dynamoRecord)
Construct a Lease object out of a DynamoDB record.
|
default Lease |
LeaseSerializer.fromDynamoRecord(Map<String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> dynamoRecord,
Lease leaseToUpdate) |
Lease |
LeaseCoordinator.getCurrentlyHeldLease(String leaseKey) |
Lease |
LeaseRenewer.getCurrentlyHeldLease(String leaseKey) |
Lease |
LeaseRefresher.getLease(String leaseKey) |
| Modifier and Type | Method and Description |
|---|---|
default List<Lease> |
LeaseCoordinator.allLeases()
Default implementation returns an empty list and concrete implementation is expected to return all leases
for the application that are in the lease table.
|
default List<Lease> |
LeaseTaker.allLeases()
Default implementation returns an empty list and concrete implementaion is expected to return all leases
for the application that are in the lease table either by reading lease table or from an internal cache.
|
List<Lease> |
LeaseDiscoverer.discoverNewLeases()
Identifies the leases that are assigned to the current worker but are not being tracked and processed by the
current worker.
|
Collection<Lease> |
LeaseCoordinator.getAssignments() |
Map<String,Lease> |
LeaseRenewer.getCurrentlyHeldLeases() |
List<Lease> |
LeaseRefresher.listLeases()
List all objects in table synchronously.
|
List<Lease> |
LeaseRefresher.listLeasesForStream(StreamIdentifier streamIdentifier)
List all leases for a given stream synchronously.
|
default Map.Entry<List<Lease>,List<String>> |
LeaseRefresher.listLeasesParallely(ExecutorService threadPool,
int parallelismFactor)
List all leases from the storage parallely and deserialize into Lease objects.
|
Map<String,Lease> |
LeaseTaker.takeLeases()
Compute the set of leases available to be taken and attempt to take them.
|
| Modifier and Type | Method and Description |
|---|---|
default boolean |
LeaseRefresher.assignLease(Lease lease,
String newOwner)
Assigns given lease to newOwner owner by incrementing its leaseCounter and setting its owner field.
|
boolean |
LeaseRefresher.createLeaseIfNotExists(Lease lease)
Create a new lease.
|
void |
LeaseRefresher.deleteLease(Lease lease)
Delete the given lease from DynamoDB.
|
void |
LeaseCoordinator.dropLease(Lease lease)
Requests that renewals for the given lease are stopped.
|
void |
LeaseRenewer.dropLease(Lease lease)
Stops the lease renewer from continunig to maintain the given lease.
|
boolean |
LeaseRefresher.evictLease(Lease lease)
Evict the current owner of lease by setting owner to null.
|
default Lease |
LeaseSerializer.fromDynamoRecord(Map<String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> dynamoRecord,
Lease leaseToUpdate) |
default Map<String,software.amazon.awssdk.services.dynamodb.model.AttributeValueUpdate> |
LeaseSerializer.getDynamoAssignLeaseUpdate(Lease lease,
String newOwner) |
Map<String,software.amazon.awssdk.services.dynamodb.model.AttributeValueUpdate> |
LeaseSerializer.getDynamoEvictLeaseUpdate(Lease lease) |
Map<String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> |
LeaseSerializer.getDynamoHashKey(Lease lease) |
Map<String,software.amazon.awssdk.services.dynamodb.model.ExpectedAttributeValue> |
LeaseSerializer.getDynamoLeaseCounterExpectation(Lease lease) |
Map<String,software.amazon.awssdk.services.dynamodb.model.AttributeValueUpdate> |
LeaseSerializer.getDynamoLeaseCounterUpdate(Lease lease) |
Map<String,software.amazon.awssdk.services.dynamodb.model.ExpectedAttributeValue> |
LeaseSerializer.getDynamoLeaseOwnerExpectation(Lease lease) |
Map<String,software.amazon.awssdk.services.dynamodb.model.AttributeValueUpdate> |
LeaseSerializer.getDynamoLeaseThroughputKbpsUpdate(Lease lease) |
Map<String,software.amazon.awssdk.services.dynamodb.model.AttributeValueUpdate> |
LeaseSerializer.getDynamoTakeLeaseUpdate(Lease lease,
String newOwner) |
Map<String,software.amazon.awssdk.services.dynamodb.model.AttributeValueUpdate> |
LeaseSerializer.getDynamoUpdateLeaseUpdate(Lease lease) |
default Map<String,software.amazon.awssdk.services.dynamodb.model.AttributeValueUpdate> |
LeaseSerializer.getDynamoUpdateLeaseUpdate(Lease lease,
UpdateField updateField) |
default boolean |
LeaseRefresher.initiateGracefulLeaseHandoff(Lease lease,
String newOwner)
Initiates a graceful handoff of the given lease to the specified new owner, allowing the current owner
to complete its processing before transferring ownership.
|
boolean |
LeaseRefresher.renewLease(Lease lease)
Renew a lease by incrementing the lease counter.
|
boolean |
LeaseRefresher.takeLease(Lease lease,
String owner)
Take a lease for the given owner by incrementing its leaseCounter and setting its owner field.
|
Map<String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> |
LeaseSerializer.toDynamoRecord(Lease lease)
Construct a DynamoDB record out of a Lease object
|
void |
Lease.update(Lease lease)
Updates this Lease's mutable, application-specific fields based on the passed-in lease object.
|
void |
MultiStreamLease.update(Lease other) |
boolean |
LeaseRefresher.updateLease(Lease lease)
Update application-specific fields of the given lease in DynamoDB.
|
boolean |
LeaseCoordinator.updateLease(Lease lease,
UUID concurrencyToken,
String operation,
String singleStreamShardId)
Updates application-specific lease values in DynamoDB.
|
boolean |
LeaseRenewer.updateLease(Lease lease,
UUID concurrencyToken,
String operation,
String singleStreamShardId)
Update application-specific fields in a currently held lease.
|
default void |
LeaseRefresher.updateLeaseWithMetaInfo(Lease lease,
UpdateField updateField)
Update application-specific fields of the given lease in DynamoDB.
|
static MultiStreamLease |
MultiStreamLease.validateAndCast(Lease lease)
Validate and cast the lease to MultiStream lease
|
| Modifier and Type | Method and Description |
|---|---|
void |
LeaseRenewer.addLeasesToRenew(Collection<Lease> newLeases)
Adds leases to this LeaseRenewer's set of currently held leases.
|
| Constructor and Description |
|---|
Lease(Lease lease)
Copy constructor, used by clone().
|
| Modifier and Type | Method and Description |
|---|---|
Lease |
DynamoDBLeaseSerializer.fromDynamoRecord(Map<String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> dynamoRecord) |
Lease |
DynamoDBLeaseSerializer.fromDynamoRecord(Map<String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> dynamoRecord,
Lease leaseToUpdate) |
Lease |
DynamoDBLeaseCoordinator.getCurrentlyHeldLease(String leaseKey) |
Lease |
DynamoDBLeaseRenewer.getCurrentlyHeldLease(String leaseKey) |
Lease |
DynamoDBLeaseRefresher.getLease(@NonNull String leaseKey) |
| Modifier and Type | Method and Description |
|---|---|
List<Lease> |
DynamoDBLeaseTaker.allLeases()
Default implementation returns an empty list and concrete implementaion is expected to return all leases
for the application that are in the lease table either by reading lease table or from an internal cache.
|
List<Lease> |
DynamoDBLeaseCoordinator.allLeases() |
List<Lease> |
DynamoDBLeaseDiscoverer.discoverNewLeases() |
Collection<Lease> |
DynamoDBLeaseCoordinator.getAssignments() |
Map<String,Lease> |
DynamoDBLeaseRenewer.getCurrentlyHeldLeases() |
List<Lease> |
DynamoDBLeaseRefresher.listLeases()
List all objects in table synchronously.
|
List<Lease> |
DynamoDBLeaseRefresher.listLeasesForStream(StreamIdentifier streamIdentifier)
List all leases for a given stream synchronously.
|
Map.Entry<List<Lease>,List<String>> |
DynamoDBLeaseRefresher.listLeasesParallely(ExecutorService parallelScanExecutorService,
int parallelScanTotalSegment) |
Map<String,Lease> |
DynamoDBLeaseTaker.takeLeases()
Compute the set of leases available to be taken and attempt to take them.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
DynamoDBLeaseRefresher.assignLease(Lease lease,
String newOwner)
Assigns given lease to newOwner owner by incrementing its leaseCounter and setting its owner field.
|
static ShardInfo |
DynamoDBLeaseCoordinator.convertLeaseToAssignment(Lease lease)
Utility method to convert the basic lease or multistream lease to ShardInfo
|
boolean |
DynamoDBLeaseRefresher.createLeaseIfNotExists(@NonNull Lease lease)
Create a new lease.
|
void |
DynamoDBLeaseRefresher.deleteLease(@NonNull Lease lease)
Delete the given lease from DynamoDB.
|
void |
DynamoDBLeaseCoordinator.dropLease(Lease lease) |
void |
DynamoDBLeaseRenewer.dropLease(Lease lease)
Stops the lease renewer from continunig to maintain the given lease.
|
boolean |
DynamoDBLeaseRefresher.evictLease(@NonNull Lease lease)
Evict the current owner of lease by setting owner to null.
|
Lease |
DynamoDBLeaseSerializer.fromDynamoRecord(Map<String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> dynamoRecord,
Lease leaseToUpdate) |
Map<String,software.amazon.awssdk.services.dynamodb.model.AttributeValueUpdate> |
DynamoDBLeaseSerializer.getDynamoAssignLeaseUpdate(Lease lease,
String newOwner)
AssignLease performs the PUT action on the LeaseOwner and ADD (1) action on the leaseCounter.
|
Map<String,software.amazon.awssdk.services.dynamodb.model.AttributeValueUpdate> |
DynamoDBLeaseSerializer.getDynamoEvictLeaseUpdate(Lease lease) |
Map<String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> |
DynamoDBLeaseSerializer.getDynamoHashKey(Lease lease) |
Map<String,software.amazon.awssdk.services.dynamodb.model.ExpectedAttributeValue> |
DynamoDBLeaseSerializer.getDynamoLeaseCounterExpectation(Lease lease) |
Map<String,software.amazon.awssdk.services.dynamodb.model.AttributeValueUpdate> |
DynamoDBLeaseSerializer.getDynamoLeaseCounterUpdate(Lease lease) |
Map<String,software.amazon.awssdk.services.dynamodb.model.ExpectedAttributeValue> |
DynamoDBLeaseSerializer.getDynamoLeaseOwnerExpectation(Lease lease) |
Map<String,software.amazon.awssdk.services.dynamodb.model.AttributeValueUpdate> |
DynamoDBLeaseSerializer.getDynamoLeaseThroughputKbpsUpdate(Lease lease) |
Map<String,software.amazon.awssdk.services.dynamodb.model.AttributeValueUpdate> |
DynamoDBLeaseSerializer.getDynamoTakeLeaseUpdate(Lease lease,
String owner) |
Map<String,software.amazon.awssdk.services.dynamodb.model.AttributeValueUpdate> |
DynamoDBMultiStreamLeaseSerializer.getDynamoUpdateLeaseUpdate(Lease lease) |
Map<String,software.amazon.awssdk.services.dynamodb.model.AttributeValueUpdate> |
DynamoDBLeaseSerializer.getDynamoUpdateLeaseUpdate(Lease lease) |
Map<String,software.amazon.awssdk.services.dynamodb.model.AttributeValueUpdate> |
DynamoDBLeaseSerializer.getDynamoUpdateLeaseUpdate(Lease lease,
UpdateField updateField) |
boolean |
DynamoDBLeaseRefresher.initiateGracefulLeaseHandoff(Lease lease,
String newOwner)
Initiates a graceful handoff of the given lease to the specified new owner, allowing the current owner
to complete its processing before transferring ownership.
|
boolean |
DynamoDBLeaseRefresher.renewLease(@NonNull Lease lease)
Renew a lease by incrementing the lease counter.
|
boolean |
DynamoDBLeaseRefresher.takeLease(@NonNull Lease lease,
@NonNull String owner)
Take a lease for the given owner by incrementing its leaseCounter and setting its owner field.
|
Map<String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> |
DynamoDBMultiStreamLeaseSerializer.toDynamoRecord(Lease lease) |
Map<String,software.amazon.awssdk.services.dynamodb.model.AttributeValue> |
DynamoDBLeaseSerializer.toDynamoRecord(Lease lease) |
boolean |
DynamoDBLeaseRefresher.updateLease(@NonNull Lease lease)
Update application-specific fields of the given lease in DynamoDB.
|
boolean |
DynamoDBLeaseCoordinator.updateLease(Lease lease,
UUID concurrencyToken,
String operation,
String singleStreamShardId) |
boolean |
DynamoDBLeaseRenewer.updateLease(Lease lease,
UUID concurrencyToken,
@NonNull String operation,
String singleStreamShardId)
Update application-specific fields in a currently held lease.
|
void |
DynamoDBLeaseRefresher.updateLeaseWithMetaInfo(Lease lease,
UpdateField updateField) |
| Modifier and Type | Method and Description |
|---|---|
void |
DynamoDBLeaseRenewer.addLeasesToRenew(Collection<Lease> newLeases)
Adds leases to this LeaseRenewer's set of currently held leases.
|
| Constructor and Description |
|---|
DynamoDBLeaseRenewer(LeaseRefresher leaseRefresher,
String workerIdentifier,
long leaseDurationMillis,
ExecutorService executorService,
MetricsFactory metricsFactory,
LeaseStatsRecorder leaseStatsRecorder,
Consumer<Lease> leaseGracefulShutdownCallback)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
LeaseGracefulShutdownHandler.enqueueShutdown(Lease lease)
Enqueue a shutdown request for the given lease if the lease has requested shutdown and the shard consumer
is not already shutdown.
|
| Constructor and Description |
|---|
ShardConsumerShutdownNotification(LeaseCoordinator leaseCoordinator,
Lease lease,
CountDownLatch notificationCompleteLatch,
CountDownLatch shutdownCompleteLatch)
Creates a new shutdown request object.
|
Copyright © 2025. All rights reserved.