public class DynamoDBLeaseManagementFactory extends Object implements LeaseManagementFactory
| Constructor and Description |
|---|
DynamoDBLeaseManagementFactory(@NotNull software.amazon.awssdk.services.kinesis.KinesisAsyncClient kinesisClient,
@NotNull software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient dynamoDBClient,
@NotNull String tableName,
@NotNull String workerIdentifier,
@NotNull ExecutorService executorService,
long failoverTimeMillis,
boolean enablePriorityLeaseAssignment,
long epsilonMillis,
int maxLeasesForWorker,
int maxLeasesToStealAtOneTime,
int maxLeaseRenewalThreads,
boolean cleanupLeasesUponShardCompletion,
boolean ignoreUnexpectedChildShards,
long shardSyncIntervalMillis,
boolean consistentReads,
long listShardsBackoffTimeMillis,
int maxListShardsRetryAttempts,
int maxCacheMissesBeforeReload,
long listShardsCacheAllowedAgeInSeconds,
int cacheMissWarningModulus,
long initialLeaseTableReadCapacity,
long initialLeaseTableWriteCapacity,
TableCreatorCallback tableCreatorCallback,
Duration dynamoDbRequestTimeout,
software.amazon.awssdk.services.dynamodb.model.BillingMode billingMode,
boolean leaseTableDeletionProtectionEnabled,
boolean leaseTablePitrEnabled,
Collection<software.amazon.awssdk.services.dynamodb.model.Tag> tags,
@NotNull LeaseSerializer leaseSerializer,
Function<StreamConfig,ShardDetector> customShardDetectorProvider,
boolean isMultiStreamMode,
LeaseCleanupConfig leaseCleanupConfig,
LeaseManagementConfig.WorkerUtilizationAwareAssignmentConfig workerUtilizationAwareAssignmentConfig,
LeaseManagementConfig.GracefulLeaseHandoffConfig gracefulLeaseHandoffConfig,
long leaseAssignmentIntervalMillis)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
LeaseCleanupManager |
createLeaseCleanupManager(MetricsFactory metricsFactory)
LeaseCleanupManager cleans up leases in the lease table for shards which have either expired past the
stream's retention period or have been completely processed.
|
LeaseCoordinator |
createLeaseCoordinator(@NonNull MetricsFactory metricsFactory) |
LeaseCoordinator |
createLeaseCoordinator(@NonNull MetricsFactory metricsFactory,
@NonNull ConcurrentMap<ShardInfo,ShardConsumer> shardInfoShardConsumerMap) |
LeaseCoordinator |
createLeaseCoordinator(MetricsFactory metricsFactory,
ConcurrentMap<ShardInfo,ShardConsumer> shardInfoShardConsumerMap,
StreamIdCacheManager streamIdCacheManager) |
DynamoDBLeaseRefresher |
createLeaseRefresher() |
ShardDetector |
createShardDetector(StreamConfig streamConfig)
KinesisShardDetector supports reading from service only using streamName.
|
ShardSyncTaskManager |
createShardSyncTaskManager(MetricsFactory metricsFactory,
StreamConfig streamConfig,
DeletedStreamListProvider deletedStreamListProvider)
Create ShardSyncTaskManager from the streamConfig passed
|
ShardSyncTaskManager |
createShardSyncTaskManager(MetricsFactory metricsFactory,
StreamConfig streamConfig,
DeletedStreamListProvider deletedStreamListProvider,
StreamInfoManager streamInfoManager) |
StreamIdCacheManager |
createStreamIdCacheManager(StreamInfoDAO streamInfoDAO,
Map<StreamIdentifier,StreamConfig> currentStreamConfigMap,
StreamIdOnboardingState streamIdOnboardingState,
boolean isMultiStreamMode,
MetricsFactory metricsFactory) |
StreamInfoManager |
createStreamInfoManager(Map<StreamIdentifier,StreamConfig> currentStreamConfigMap,
StreamInfoDAO streamInfoDAO,
MetricsFactory metricsFactory,
boolean isMultiStreamMode,
long streamInfoBackfillIntervalMillis,
StreamInfoMode streamInfoMode,
StreamIdOnboardingState streamIdOnboardingState) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcreateShardDetector, createShardSyncTaskManager, createShardSyncTaskManagerpublic DynamoDBLeaseManagementFactory(@NotNull
@NotNull software.amazon.awssdk.services.kinesis.KinesisAsyncClient kinesisClient,
@NotNull
@NotNull software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient dynamoDBClient,
@NotNull
@NotNull String tableName,
@NotNull
@NotNull String workerIdentifier,
@NotNull
@NotNull ExecutorService executorService,
long failoverTimeMillis,
boolean enablePriorityLeaseAssignment,
long epsilonMillis,
int maxLeasesForWorker,
int maxLeasesToStealAtOneTime,
int maxLeaseRenewalThreads,
boolean cleanupLeasesUponShardCompletion,
boolean ignoreUnexpectedChildShards,
long shardSyncIntervalMillis,
boolean consistentReads,
long listShardsBackoffTimeMillis,
int maxListShardsRetryAttempts,
int maxCacheMissesBeforeReload,
long listShardsCacheAllowedAgeInSeconds,
int cacheMissWarningModulus,
long initialLeaseTableReadCapacity,
long initialLeaseTableWriteCapacity,
TableCreatorCallback tableCreatorCallback,
Duration dynamoDbRequestTimeout,
software.amazon.awssdk.services.dynamodb.model.BillingMode billingMode,
boolean leaseTableDeletionProtectionEnabled,
boolean leaseTablePitrEnabled,
Collection<software.amazon.awssdk.services.dynamodb.model.Tag> tags,
@NotNull
@NotNull LeaseSerializer leaseSerializer,
Function<StreamConfig,ShardDetector> customShardDetectorProvider,
boolean isMultiStreamMode,
LeaseCleanupConfig leaseCleanupConfig,
LeaseManagementConfig.WorkerUtilizationAwareAssignmentConfig workerUtilizationAwareAssignmentConfig,
LeaseManagementConfig.GracefulLeaseHandoffConfig gracefulLeaseHandoffConfig,
long leaseAssignmentIntervalMillis)
kinesisClient - dynamoDBClient - tableName - workerIdentifier - executorService - failoverTimeMillis - enablePriorityLeaseAssignment - epsilonMillis - maxLeasesForWorker - maxLeasesToStealAtOneTime - maxLeaseRenewalThreads - cleanupLeasesUponShardCompletion - ignoreUnexpectedChildShards - shardSyncIntervalMillis - consistentReads - listShardsBackoffTimeMillis - maxListShardsRetryAttempts - maxCacheMissesBeforeReload - listShardsCacheAllowedAgeInSeconds - cacheMissWarningModulus - initialLeaseTableReadCapacity - initialLeaseTableWriteCapacity - tableCreatorCallback - dynamoDbRequestTimeout - billingMode - leaseTableDeletionProtectionEnabled - leaseTablePitrEnabled - leaseSerializer - customShardDetectorProvider - isMultiStreamMode - leaseCleanupConfig - workerUtilizationAwareAssignmentConfig - gracefulLeaseHandoffConfig - leaseAssignmentIntervalMillis - public LeaseCoordinator createLeaseCoordinator(@NonNull @NonNull MetricsFactory metricsFactory)
createLeaseCoordinator in interface LeaseManagementFactorypublic LeaseCoordinator createLeaseCoordinator(@NonNull @NonNull MetricsFactory metricsFactory, @NonNull @NonNull ConcurrentMap<ShardInfo,ShardConsumer> shardInfoShardConsumerMap)
createLeaseCoordinator in interface LeaseManagementFactorypublic LeaseCoordinator createLeaseCoordinator(MetricsFactory metricsFactory, ConcurrentMap<ShardInfo,ShardConsumer> shardInfoShardConsumerMap, StreamIdCacheManager streamIdCacheManager)
createLeaseCoordinator in interface LeaseManagementFactorypublic ShardSyncTaskManager createShardSyncTaskManager(MetricsFactory metricsFactory, StreamConfig streamConfig, DeletedStreamListProvider deletedStreamListProvider)
createShardSyncTaskManager in interface LeaseManagementFactorymetricsFactory - - factory to get metrics objectstreamConfig - - streamConfig for which ShardSyncTaskManager needs to be createddeletedStreamListProvider - - store for capturing the streams which are deleted in kinesispublic ShardSyncTaskManager createShardSyncTaskManager(MetricsFactory metricsFactory, StreamConfig streamConfig, DeletedStreamListProvider deletedStreamListProvider, StreamInfoManager streamInfoManager)
createShardSyncTaskManager in interface LeaseManagementFactorypublic DynamoDBLeaseRefresher createLeaseRefresher()
createLeaseRefresher in interface LeaseManagementFactorypublic ShardDetector createShardDetector(StreamConfig streamConfig)
createShardDetector in interface LeaseManagementFactorystreamConfig - public LeaseCleanupManager createLeaseCleanupManager(MetricsFactory metricsFactory)
createLeaseCleanupManager in interface LeaseManagementFactorymetricsFactory - public StreamIdCacheManager createStreamIdCacheManager(StreamInfoDAO streamInfoDAO, Map<StreamIdentifier,StreamConfig> currentStreamConfigMap, StreamIdOnboardingState streamIdOnboardingState, boolean isMultiStreamMode, MetricsFactory metricsFactory)
createStreamIdCacheManager in interface LeaseManagementFactorypublic StreamInfoManager createStreamInfoManager(Map<StreamIdentifier,StreamConfig> currentStreamConfigMap, StreamInfoDAO streamInfoDAO, MetricsFactory metricsFactory, boolean isMultiStreamMode, long streamInfoBackfillIntervalMillis, StreamInfoMode streamInfoMode, StreamIdOnboardingState streamIdOnboardingState)
createStreamInfoManager in interface LeaseManagementFactoryCopyright © 2026. All rights reserved.