| Modifier and Type | Method and Description |
|---|---|
boolean |
DynamoDBCheckpointer.setCheckpoint(String leaseKey,
ExtendedSequenceNumber checkpoint,
UUID concurrencyToken) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
CoordinatorStateDAO.createCoordinatorStateIfNotExists(CoordinatorState state)
Create a new
CoordinatorState if it does not exist. |
CoordinatorState |
CoordinatorStateDAO.getCoordinatorState(@NonNull String key) |
void |
CoordinatorStateDAO.initialize() |
void |
DynamicMigrationComponentsInitializer.initialize(ClientVersion migrationStateMachineStartingClientVersion) |
void |
DynamicMigrationComponentsInitializer.initializeClientVersionFor3x(ClientVersion fromClientVersion)
Initialize KCL with components and configuration to run vanilla 3x functionality.
|
void |
DynamicMigrationComponentsInitializer.initializeClientVersionFor3xWithRollback(ClientVersion fromClientVersion)
Initialize KCL with components and configuration to run vanilla 3x functionality
while allowing roll-back to 2x functionality.
|
void |
DynamicMigrationComponentsInitializer.initializeClientVersionForUpgradeFrom2x(ClientVersion fromClientVersion)
Initialize KCL with components and configuration to support upgrade from 2x.
|
List<CoordinatorState> |
CoordinatorStateDAO.listCoordinatorState()
List all the
CoordinatorState from the DDB table synchronously |
boolean |
CoordinatorStateDAO.updateCoordinatorStateWithExpectation(@NonNull CoordinatorState state,
Map<String,software.amazon.awssdk.services.dynamodb.model.ExpectedAttributeValue> expectations)
Update fields of the given coordinator state in DynamoDB.
|
| Modifier and Type | Method and Description |
|---|---|
void |
ClientVersionChangeMonitor.ClientVersionChangeCallback.accept(MigrationState currentMigrationState) |
void |
MigrationClientVersionUpgradeFrom2xState.enter(ClientVersion fromClientVersion) |
void |
MigrationClientVersionState.enter(ClientVersion fromClientVersion)
Enter the state and perform the business logic of being in this state
which includes performing any monitoring that allows the next state
transition and also initializing the KCL based on the ClientVersion.
|
void |
MigrationClientVersion3xState.enter(ClientVersion fromClientVersion) |
void |
MigrationClientVersion3xWithRollbackState.enter(ClientVersion fromClientVersion) |
AbstractMap.SimpleEntry<ClientVersion,MigrationState> |
MigrationClientVersionStateInitializer.getInitialState() |
void |
MigrationStateMachineImpl.initialize() |
void |
MigrationStateMachine.initialize()
Initialize the state machine by identifying the initial state when the KCL worker comes up for the first time.
|
void |
MigrationStateMachineImpl.transitionTo(ClientVersion nextClientVersion,
MigrationState migrationState) |
void |
MigrationStateMachine.transitionTo(ClientVersion nextClientVersion,
MigrationState state)
Peform transition from current state to the given new ClientVersion
|
| 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 |
HierarchicalShardSyncer.checkAndCreateLeaseForNewShards(@NonNull ShardDetector shardDetector,
LeaseRefresher leaseRefresher,
InitialPositionInStreamExtended initialPosition,
List<software.amazon.awssdk.services.kinesis.model.Shard> latestShards,
boolean ignoreUnexpectedChildShards,
MetricsScope scope,
boolean isLeaseTableEmpty)
Provide a pre-collected list of shards to avoid calling ListShards API
|
boolean |
HierarchicalShardSyncer.checkAndCreateLeaseForNewShards(@NonNull ShardDetector shardDetector,
LeaseRefresher leaseRefresher,
InitialPositionInStreamExtended initialPosition,
MetricsScope scope,
boolean ignoreUnexpectedChildShards,
boolean isLeaseTableEmpty)
Check and create leases for any new shards (e.g.
|
LeaseCleanupManager.LeaseCleanupResult |
LeaseCleanupManager.cleanupLease(LeasePendingDeletion leasePendingDeletion,
boolean timeToCheckForCompletedShard,
boolean timeToCheckForGarbageShard) |
boolean |
LeaseRefresher.createLeaseIfNotExists(Lease lease)
Create a new lease.
|
default String |
LeaseRefresher.createLeaseOwnerToLeaseKeyIndexIfNotExists()
Creates the LeaseOwnerToLeaseKey index on the lease table if it doesn't exist and returns the status of index.
|
boolean |
LeaseRefresher.createLeaseTableIfNotExists()
Creates the table that will store leases.
|
boolean |
LeaseRefresher.createLeaseTableIfNotExists(Long readCapacity,
Long writeCapacity)
Deprecated.
|
void |
LeaseRefresher.deleteAll()
Delete all leases from DynamoDB.
|
void |
LeaseRefresher.deleteLease(Lease lease)
Delete the given lease from DynamoDB.
|
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.
|
boolean |
LeaseRefresher.evictLease(Lease lease)
Evict the current owner of lease by setting owner to null.
|
ExtendedSequenceNumber |
LeaseRefresher.getCheckpoint(String leaseKey)
Gets the current checkpoint of the shard.
|
Lease |
LeaseRefresher.getLease(String leaseKey) |
default String |
LeaseRefresher.getLeaseTableIdentifier() |
void |
LeaseCoordinator.initialize()
Initialize the lease coordinator (create the lease table if needed).
|
void |
LeaseRenewer.initialize()
Bootstrap initial set of leases from the
LeaseRefresher (e.g. |
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.isLeaseOwnerToLeaseKeyIndexActive()
Check if leaseOwner GSI is ACTIVE
|
boolean |
LeaseRefresher.isLeaseTableEmpty()
Check (synchronously) if there are any leases in the lease table.
|
boolean |
LeaseRefresher.leaseTableExists() |
default List<String> |
LeaseRefresher.listLeaseKeysForWorker(String workerIdentifier)
List all leases for a given workerIdentifier synchronously.
|
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.
|
boolean |
LeaseRefresher.renewLease(Lease lease)
Renew a lease by incrementing the lease counter.
|
void |
LeaseRenewer.renewLeases()
Attempt to renew all currently held leases.
|
void |
LeaseCoordinator.runLeaseRenewer()
Runs a single iteration of the lease renewer - used by integration tests.
|
void |
LeaseCoordinator.runLeaseTaker()
Runs a single iteration of the lease taker - used by integration tests.
|
void |
LeaseCoordinator.start(MigrationAdaptiveLeaseAssignmentModeProvider leaseAssignmentModeProvider)
Start background LeaseHolder and LeaseTaker threads.
|
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,Lease> |
LeaseTaker.takeLeases()
Compute the set of leases available to be taken and attempt to take them.
|
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.
|
boolean |
LeaseRefresher.waitUntilLeaseTableExists(long secondsBetweenPolls,
long timeoutSeconds)
Blocks until the lease table exists by polling leaseTableExists.
|
| Modifier and Type | Method and Description |
|---|---|
protected DependencyException |
DynamoDBLeaseRefresher.convertAndRethrowExceptions(String operation,
String leaseKey,
Exception e) |
| 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.
|
boolean |
DynamoDBLeaseRefresher.createLeaseIfNotExists(@NonNull Lease lease)
Create a new lease.
|
String |
DynamoDBLeaseRefresher.createLeaseOwnerToLeaseKeyIndexIfNotExists() |
boolean |
DynamoDBLeaseRefresher.createLeaseTableIfNotExists()
Creates the table that will store leases.
|
boolean |
DynamoDBLeaseRefresher.createLeaseTableIfNotExists(@NonNull Long readCapacity,
@NonNull Long writeCapacity)
Creates the table that will store leases.
|
void |
DynamoDBLeaseRefresher.deleteAll()
Delete all leases from DynamoDB.
|
void |
DynamoDBLeaseRefresher.deleteLease(@NonNull Lease lease)
Delete the given lease from DynamoDB.
|
List<Lease> |
DynamoDBLeaseDiscoverer.discoverNewLeases() |
boolean |
DynamoDBLeaseRefresher.evictLease(@NonNull Lease lease)
Evict the current owner of lease by setting owner to null.
|
ExtendedSequenceNumber |
DynamoDBLeaseRefresher.getCheckpoint(String leaseKey)
Gets the current checkpoint of the shard.
|
Lease |
DynamoDBLeaseRefresher.getLease(@NonNull String leaseKey) |
String |
DynamoDBLeaseRefresher.getLeaseTableIdentifier() |
void |
DynamoDBLeaseCoordinator.initialize() |
void |
DynamoDBLeaseRenewer.initialize()
Bootstrap initial set of leases from the
LeaseRefresher (e.g. |
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.isLeaseOwnerToLeaseKeyIndexActive() |
boolean |
DynamoDBLeaseRefresher.isLeaseTableEmpty()
Check (synchronously) if there are any leases in the lease table.
|
boolean |
DynamoDBLeaseRefresher.leaseTableExists() |
List<String> |
DynamoDBLeaseRefresher.listLeaseKeysForWorker(String workerIdentifier)
List all leases for a given workerIdentifier synchronously.
|
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) |
boolean |
DynamoDBLeaseRefresher.renewLease(@NonNull Lease lease)
Renew a lease by incrementing the lease counter.
|
void |
DynamoDBLeaseRenewer.renewLeases()
Attempt to renew all currently held leases.
|
void |
DynamoDBLeaseCoordinator.runLeaseRenewer() |
void |
DynamoDBLeaseCoordinator.runLeaseTaker() |
void |
DynamoDBLeaseCoordinator.start(MigrationAdaptiveLeaseAssignmentModeProvider leaseAssignmentModeProvider) |
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,Lease> |
DynamoDBLeaseTaker.takeLeases()
Compute the set of leases available to be taken and attempt to take them.
|
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) |
boolean |
DynamoDBLeaseRefresher.waitUntilLeaseTableExists(long secondsBetweenPolls,
long timeoutSeconds) |
| Modifier and Type | Method and Description |
|---|---|
static void |
ShardSyncer.checkAndCreateLeasesForNewShards(@NonNull ShardDetector shardDetector,
LeaseRefresher leaseRefresher,
InitialPositionInStreamExtended initialPosition,
boolean ignoreUnexpectedChildShards,
MetricsScope scope)
Deprecated.
|
| Modifier and Type | Method and Description |
|---|---|
String |
ConsumerRegistration.getOrCreateStreamConsumerArn()
This method is used to get or create StreamConsumer information from Kinesis.
|
| Modifier and Type | Method and Description |
|---|---|
String |
FanOutConsumerRegistration.getOrCreateStreamConsumerArn() |
| Modifier and Type | Method and Description |
|---|---|
void |
WorkerMetricStatsDAO.initialize()
Performs initialization of the WorkerMetricStats DAO and table.
|
Copyright © 2025. All rights reserved.