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)
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) |
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
|
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)
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 - 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 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 DynamoDBLeaseRefresher createLeaseRefresher()
createLeaseRefresher in interface LeaseManagementFactorypublic ShardDetector createShardDetector(StreamConfig streamConfig)
createShardDetector in interface LeaseManagementFactorystreamConfig - public LeaseCleanupManager createLeaseCleanupManager(MetricsFactory metricsFactory)
createLeaseCleanupManager in interface LeaseManagementFactorymetricsFactory - Copyright © 2024. All rights reserved.