public class KinesisClientLibLeaseCoordinator extends LeaseCoordinator<KinesisClientLease> implements ICheckpoint
metricsFactory, WORKER_IDENTIFIER_METRIC| Constructor and Description |
|---|
KinesisClientLibLeaseCoordinator(ILeaseManager<KinesisClientLease> leaseManager,
ILeaseTaker<KinesisClientLease> leaseTaker,
ILeaseRenewer<KinesisClientLease> leaseRenewer,
long leaseDurationMillis,
long epsilonMillis,
int maxLeasesForWorker,
int maxLeasesToStealAtOneTime,
IMetricsFactory metricsFactory) |
KinesisClientLibLeaseCoordinator(ILeaseManager<KinesisClientLease> leaseManager,
LeaseSelector<KinesisClientLease> leaseSelector,
String workerIdentifier,
long leaseDurationMillis,
long epsilonMillis,
IMetricsFactory metricsFactory) |
KinesisClientLibLeaseCoordinator(ILeaseManager<KinesisClientLease> leaseManager,
LeaseSelector<KinesisClientLease> leaseSelector,
String workerIdentifier,
long leaseDurationMillis,
long epsilonMillis,
int maxLeasesForWorker,
int maxLeasesToStealAtOneTime,
int maxLeaseRenewerThreadCount,
IMetricsFactory metricsFactory) |
KinesisClientLibLeaseCoordinator(ILeaseManager<KinesisClientLease> leaseManager,
String workerIdentifier,
long leaseDurationMillis,
long epsilonMillis) |
KinesisClientLibLeaseCoordinator(ILeaseManager<KinesisClientLease> leaseManager,
String workerIdentifier,
long leaseDurationMillis,
long epsilonMillis,
LeaseSelector<KinesisClientLease> leaseSelector) |
| Modifier and Type | Method and Description |
|---|---|
static List<ShardInfo> |
convertLeasesToAssignments(Collection<KinesisClientLease> leases) |
static ShardInfo |
convertLeaseToAssignment(KinesisClientLease lease) |
ExtendedSequenceNumber |
getCheckpoint(String shardId)
Get the current checkpoint stored for the specified shard.
|
Checkpoint |
getCheckpointObject(String shardId)
Get the current checkpoint stored for the specified shard, which holds the sequence numbers for the checkpoint
and pending checkpoint.
|
List<ShardInfo> |
getCurrentAssignments() |
ILeaseManager<KinesisClientLease> |
getLeaseManager()
Used to get information about leases for Kinesis shards (e.g.
|
void |
prepareCheckpoint(String shardId,
ExtendedSequenceNumber pendingCheckpointValue,
String concurrencyToken)
Record intent to checkpoint for a shard.
|
void |
setCheckpoint(String shardId,
ExtendedSequenceNumber checkpointValue,
String concurrencyToken)
Record a checkpoint for a shard (e.g.
|
KinesisClientLibLeaseCoordinator |
withInitialLeaseTableReadCapacity(long readCapacity) |
KinesisClientLibLeaseCoordinator |
withInitialLeaseTableWriteCapacity(long writeCapacity) |
dropLease, getAssignments, getCurrentlyHeldLease, getDefaultLeaseRenewalExecutorService, getWorkerIdentifier, isRunning, runRenewer, runTaker, start, stop, stopLeaseTaker, updateLeasepublic KinesisClientLibLeaseCoordinator(ILeaseManager<KinesisClientLease> leaseManager, String workerIdentifier, long leaseDurationMillis, long epsilonMillis, LeaseSelector<KinesisClientLease> leaseSelector)
leaseManager - Lease manager which provides CRUD lease operations.workerIdentifier - Used to identify this worker processleaseDurationMillis - Duration of a lease in millisecondsepsilonMillis - Delta for timing operations (e.g. checking lease expiry)leaseSelector - Lease selector which decides which leases to takepublic KinesisClientLibLeaseCoordinator(ILeaseManager<KinesisClientLease> leaseManager, String workerIdentifier, long leaseDurationMillis, long epsilonMillis)
leaseManager - Lease manager which provides CRUD lease operations.workerIdentifier - Used to identify this worker processleaseDurationMillis - Duration of a lease in millisecondsepsilonMillis - Delta for timing operations (e.g. checking lease expiry)public KinesisClientLibLeaseCoordinator(ILeaseManager<KinesisClientLease> leaseManager, LeaseSelector<KinesisClientLease> leaseSelector, String workerIdentifier, long leaseDurationMillis, long epsilonMillis, IMetricsFactory metricsFactory)
leaseManager - Lease manager which provides CRUD lease operations.leaseSelector - Lease selector which decides which leases to takeworkerIdentifier - Used to identify this worker processleaseDurationMillis - Duration of a lease in millisecondsepsilonMillis - Delta for timing operations (e.g. checking lease expiry)metricsFactory - Metrics factory used to emit metricspublic KinesisClientLibLeaseCoordinator(ILeaseManager<KinesisClientLease> leaseManager, LeaseSelector<KinesisClientLease> leaseSelector, String workerIdentifier, long leaseDurationMillis, long epsilonMillis, int maxLeasesForWorker, int maxLeasesToStealAtOneTime, int maxLeaseRenewerThreadCount, IMetricsFactory metricsFactory)
leaseManager - Lease manager which provides CRUD lease operations.leaseSelector - Lease selector which decides which leases to takeworkerIdentifier - Used to identify this worker processleaseDurationMillis - Duration of a lease in millisecondsepsilonMillis - Delta for timing operations (e.g. checking lease expiry)maxLeasesForWorker - Max leases this worker can handle at a timemaxLeasesToStealAtOneTime - Steal up to this many leases at a time (for load balancing)metricsFactory - Metrics factory used to emit metricspublic KinesisClientLibLeaseCoordinator(ILeaseManager<KinesisClientLease> leaseManager, ILeaseTaker<KinesisClientLease> leaseTaker, ILeaseRenewer<KinesisClientLease> leaseRenewer, long leaseDurationMillis, long epsilonMillis, int maxLeasesForWorker, int maxLeasesToStealAtOneTime, IMetricsFactory metricsFactory)
public KinesisClientLibLeaseCoordinator withInitialLeaseTableReadCapacity(long readCapacity)
readCapacity - The DynamoDB table used for tracking leases will be provisioned with the specified initial
read capacitypublic KinesisClientLibLeaseCoordinator withInitialLeaseTableWriteCapacity(long writeCapacity)
writeCapacity - The DynamoDB table used for tracking leases will be provisioned with the specified initial
write capacitypublic void setCheckpoint(String shardId, ExtendedSequenceNumber checkpointValue, String concurrencyToken) throws KinesisClientLibException
setCheckpoint in interface ICheckpointshardId - Checkpoint is specified for this shard.checkpointValue - Value of the checkpoint (e.g. Kinesis sequence number and subsequence number)concurrencyToken - Used with conditional writes to prevent stale updates
(e.g. if there was a fail over to a different record processor, we don't want to
overwrite it's checkpoint)KinesisClientLibException - Thrown if we were unable to save the checkpointpublic ExtendedSequenceNumber getCheckpoint(String shardId) throws KinesisClientLibException
getCheckpoint in interface ICheckpointshardId - Current checkpoint for this shard is fetchedKinesisClientLibException - Thrown if we are unable to fetch the checkpointpublic void prepareCheckpoint(String shardId, ExtendedSequenceNumber pendingCheckpointValue, String concurrencyToken) throws KinesisClientLibException
prepareCheckpoint in interface ICheckpointshardId - Checkpoint is specified for this shard.pendingCheckpointValue - Value of the pending checkpoint (e.g. Kinesis sequence number and subsequence number)concurrencyToken - Used with conditional writes to prevent stale updates
(e.g. if there was a fail over to a different record processor, we don't want to
overwrite it's checkpoint)KinesisClientLibException - Thrown if we were unable to save the checkpointpublic Checkpoint getCheckpointObject(String shardId) throws KinesisClientLibException
getCheckpointObject in interface ICheckpointshardId - Current checkpoint for this shard is fetchedKinesisClientLibException - Thrown if we are unable to fetch the checkpointpublic List<ShardInfo> getCurrentAssignments()
public static List<ShardInfo> convertLeasesToAssignments(Collection<KinesisClientLease> leases)
public static ShardInfo convertLeaseToAssignment(KinesisClientLease lease)
public ILeaseManager<KinesisClientLease> getLeaseManager()
Copyright © 2023. All rights reserved.