| Modifier and Type | Method and Description |
|---|---|
boolean |
DynamoDBCheckpointer.setCheckpoint(String leaseKey,
ExtendedSequenceNumber checkpoint,
UUID concurrencyToken) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
CoordinatorStateDAO.createCoordinatorStateIfNotExists(@NonNull CoordinatorState state)
Create a coordinator state if it does not already exist.
|
void |
StreamInfoManager.createStreamInfo(StreamIdentifier streamIdentifier)
Creates new streamInfo
|
boolean |
CoordinatorStateDAO.deleteCoordinatorState(@NonNull String key)
Delete a coordinator state by key.
|
void |
StreamInfoManager.deleteStreamInfo(StreamIdentifier streamIdentifier)
Deletes
StreamInfo if it does exist. |
void |
CoordinatorStateDAO.executeTransactWrite(List<software.amazon.awssdk.services.dynamodb.model.TransactWriteItem> transactWriteItems)
Execute a DynamoDB TransactWriteItems request with the given list of
TransactWriteItems. |
CoordinatorState |
CoordinatorStateDAO.getCoordinatorState(@NonNull String key)
Get a single
CoordinatorState by key. |
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.
|
void |
CoordinatorStateDAO.initializeDelegates()
Initialize the delegates for read operations.
|
List<CoordinatorState> |
CoordinatorStateDAO.listCoordinatorState()
List all coordinator states.
|
List<CoordinatorState> |
CoordinatorStateDAO.listCoordinatorStateByEntityType(EntityType.CoordinatorStateType entityType)
List coordinator states by entity type.
|
boolean |
CoordinatorStateDAO.updateCoordinatorStateWithExpectation(@NonNull CoordinatorState state,
Map<String,software.amazon.awssdk.services.dynamodb.model.ExpectedAttributeValue> expectations)
Update a coordinator state with expectations.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
LegacyTableCoordinatorStateDAODelegate.createCoordinatorStateIfNotExists(CoordinatorState state) |
boolean |
CoordinatorStateDAODelegate.createCoordinatorStateIfNotExists(CoordinatorState state)
Create a new
CoordinatorState if it does not exist. |
boolean |
LegacyTableCoordinatorStateDAODelegate.deleteCoordinatorState(String key) |
boolean |
CoordinatorStateDAODelegate.deleteCoordinatorState(@NonNull String key)
Create a new
CoordinatorState if it does not exist. |
CoordinatorState |
LegacyTableCoordinatorStateDAODelegate.getCoordinatorState(String key) |
CoordinatorState |
CoordinatorStateDAODelegate.getCoordinatorState(@NonNull String key) |
void |
LegacyTableCoordinatorStateDAODelegate.initialize()
Check if the legacy table exists.
|
abstract void |
CoordinatorStateDAODelegate.initialize() |
List<CoordinatorState> |
LegacyTableCoordinatorStateDAODelegate.listCoordinatorState() |
List<CoordinatorState> |
CoordinatorStateDAODelegate.listCoordinatorState()
List all the
CoordinatorState from the DDB table synchronously |
List<CoordinatorState> |
LegacyTableCoordinatorStateDAODelegate.listCoordinatorStateByEntityType(EntityType.CoordinatorStateType entityType) |
List<CoordinatorState> |
CoordinatorStateDAODelegate.listCoordinatorStateByEntityType(EntityType.CoordinatorStateType entityType)
List all the
CoordinatorState from the DDB table synchronously |
boolean |
LegacyTableCoordinatorStateDAODelegate.updateCoordinatorStateWithExpectation(CoordinatorState state,
Map<String,software.amazon.awssdk.services.dynamodb.model.ExpectedAttributeValue> expectations) |
boolean |
CoordinatorStateDAODelegate.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) |
protected void |
MigrationClientVersion3xState.doEnter(ClientVersion fromClientVersion) |
protected void |
MigrationClientVersion3xWithRollbackState.doEnter(ClientVersion fromClientVersion) |
protected void |
MigrationClientVersionUpgradeFrom2xState.doEnter(ClientVersion fromClientVersion) |
protected abstract void |
AbstractMigrationClientVersionState.doEnter(ClientVersion fromClientVersion)
State-specific enter logic.
|
void |
MigrationClientVersionInitState.enter(ClientVersion fromClientVersion) |
void |
AbstractMigrationClientVersionState.enter(ClientVersion fromClientVersion)
Template method that ensures DDB state matches this state's client version before
delegating to the state-specific
AbstractMigrationClientVersionState.doEnter(ClientVersion) logic. |
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.
|
AbstractMap.SimpleEntry<ClientVersion,MigrationState> |
MigrationClientVersionStateInitializer.getInitialState()
Determine the initial client version by reading the current state from DDB and
applying the configured client version policy.
|
void |
TableMigrationStateMachine.handleLeaderLockResult(boolean isLeader)
Called after leader election to handle table migration state transitions that
require leader ownership.
|
void |
TableMigrationStateMachineImpl.handleLeaderLockResult(boolean isLeader) |
void |
MigrationStateMachineImpl.initialize() |
void |
TableMigrationStateMachine.initialize()
Initialize the table migration state machine.
|
void |
TableMigrationStateMachineImpl.initialize()
Initialize TableMigrationStateMachine, there can be dependency exception
when updating TableMigrationState in DDB or InvalidStateException when
2 phase deployment is not followed.
|
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 |
|---|---|
boolean |
StreamInfoDAO.createStreamInfo(StreamIdentifier streamIdentifier)
Create a new
StreamInfo if it does not exist. |
boolean |
StreamInfoDAO.deleteStreamInfo(String key)
Deletes
StreamInfo if it does exist. |
StreamInfo |
StreamInfoDAO.getStreamInfo(String key) |
List<StreamInfo> |
StreamInfoDAO.listStreamInfo()
List all the
StreamInfo from the DDB table synchronously |
| 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.
|
Map<EntityType,EntityDAO.EntityScanList> |
EntityDAO.scanAllEntities()
Scan all entities from the lease table and group them by their
EntityType. |
Map<EntityType,EntityDAO.EntityScanList> |
EntityDAO.scanEntities(EntityType... entityTypes)
Scan entities from the lease table filtered to only the specified entity types.
|
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 |
DynamoDBLeaseRenewer.initialize()
Bootstrap initial set of leases from the
LeaseRefresher (e.g. |
void |
DynamoDBLeaseCoordinator.initialize() |
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() |
Map<EntityType,EntityDAO.EntityScanList> |
DynamoDBLeaseTableDao.scanAllEntities() |
Map<EntityType,EntityDAO.EntityScanList> |
DynamoDBLeaseTableDao.scanEntities(EntityType... entityTypes) |
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 |
DynamoDBLeaseRenewer.updateLease(Lease lease,
UUID concurrencyToken,
@NonNull String operation,
String singleStreamShardId)
Update application-specific fields in a currently held lease.
|
boolean |
DynamoDBLeaseCoordinator.updateLease(Lease lease,
UUID concurrencyToken,
String operation,
String singleStreamShardId) |
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 |
|---|---|
static void |
LeaseGracefulShutdownHandler.attemptLeaseTransfer(Lease lease,
LeaseCoordinator leaseCoordinator) |
| 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 |
|---|---|
boolean |
WorkerMetricStatsDAO.deleteMetrics(WorkerMetricStats workerMetrics)
Delete the worker metric stats entry with a conditional check on lastUpdateTime.
|
List<WorkerMetricStats> |
WorkerMetricStatsDAO.getAllWorkerMetricStats()
Get all worker metric stats by combining results from both delegates.
|
void |
WorkerMetricStatsDAO.initialize()
Initialize the DAO: initializes both delegates and caches the current migration status
to determine the write target for the lifetime of this DAO instance.
|
void |
WorkerMetricStatsDAO.updateMetrics(WorkerMetricStats workerMetrics)
Update (or create) the worker metric stats for a given worker.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
WorkerMetricStatsDAODelegate.deleteMetrics(WorkerMetricStats workerMetrics)
Delete the worker metric stats entry with a conditional check on lastUpdateTime.
|
boolean |
LegacyTableWorkerMetricStatsDAODelegate.deleteMetrics(WorkerMetricStats workerMetrics) |
abstract List<WorkerMetricStats> |
WorkerMetricStatsDAODelegate.getAllWorkerMetricStats()
Retrieve all worker metric stats entries from the backing table
|
List<WorkerMetricStats> |
LegacyTableWorkerMetricStatsDAODelegate.getAllWorkerMetricStats()
Retrieve all worker metric stats entries from the backing table.
|
List<WorkerMetricStats> |
LeaseTableWorkerMetricStatsDAODelegate.getAllWorkerMetricStats()
Retrieve all worker metric stats entries from the backing table, filtered by
entityType = WORKER_METRIC_STATS. |
abstract void |
WorkerMetricStatsDAODelegate.initialize()
Initialize the delegate.
|
void |
LegacyTableWorkerMetricStatsDAODelegate.initialize() |
void |
LeaseTableWorkerMetricStatsDAODelegate.initialize() |
void |
WorkerMetricStatsDAODelegate.updateMetrics(WorkerMetricStats workerMetrics)
Update (or create) the worker metric stats for a given worker.
|
void |
LegacyTableWorkerMetricStatsDAODelegate.updateMetrics(WorkerMetricStats workerMetrics) |
void |
LeaseTableWorkerMetricStatsDAODelegate.updateMetrics(WorkerMetricStats workerMetrics) |
Copyright © 2026. All rights reserved.