From 391532da31f2f0c5e3dab6990a4f33f2b327af9b Mon Sep 17 00:00:00 2001 From: Chunxue Yang Date: Wed, 25 Mar 2020 12:19:47 -0700 Subject: [PATCH] Adding comments for metric and Todo works --- .../java/software/amazon/kinesis/coordinator/Scheduler.java | 3 +++ .../java/software/amazon/kinesis/leases/ShardSyncTask.java | 3 +++ 2 files changed, 6 insertions(+) diff --git a/amazon-kinesis-client/src/main/java/software/amazon/kinesis/coordinator/Scheduler.java b/amazon-kinesis-client/src/main/java/software/amazon/kinesis/coordinator/Scheduler.java index 395882d9..ff9d845e 100644 --- a/amazon-kinesis-client/src/main/java/software/amazon/kinesis/coordinator/Scheduler.java +++ b/amazon-kinesis-client/src/main/java/software/amazon/kinesis/coordinator/Scheduler.java @@ -375,6 +375,9 @@ public class Scheduler implements Runnable { private void waitUntilHashRangeCovered() throws InterruptedException { + // TODO: Currently this call is not in use. We may need to implement this method later. Created SIM to track the work: https://sim.amazon.com/issues/KinesisLTR-202 + // TODO: For future implementation, streamToShardSyncTaskManagerMap might not contain the most up to date snapshot of active streams. + // Should use currentStreamConfigMap to determine the streams to check. while (!leaderElectedPeriodicShardSyncManager.hashRangeCovered()) { // wait until entire hash range is covered log.info("Hash range is not covered yet. Checking again in {} ms", HASH_RANGE_COVERAGE_CHECK_FREQUENCY_MILLIS); diff --git a/amazon-kinesis-client/src/main/java/software/amazon/kinesis/leases/ShardSyncTask.java b/amazon-kinesis-client/src/main/java/software/amazon/kinesis/leases/ShardSyncTask.java index b8f581c6..d7548a55 100644 --- a/amazon-kinesis-client/src/main/java/software/amazon/kinesis/leases/ShardSyncTask.java +++ b/amazon-kinesis-client/src/main/java/software/amazon/kinesis/leases/ShardSyncTask.java @@ -76,6 +76,9 @@ public class ShardSyncTask implements ConsumerTask { exception = e; shardSyncSuccess = false; } finally { + // NOTE: This metric is reflecting if a shard sync task succeeds. Customer can use this metric to monitor if + // their application encounter any shard sync failures. This metric can help to detect potential shard stuck issues + // that are due to shard sync failures. MetricsUtil.addSuccess(scope, "SyncShards", shardSyncSuccess, MetricsLevel.DETAILED); MetricsUtil.endScope(scope); }