From 36ae2f2428fa2133bba991f7b08a5c42c13ed559 Mon Sep 17 00:00:00 2001 From: Chunxue Yang Date: Wed, 8 Jul 2020 17:45:02 -0700 Subject: [PATCH 1/2] Bug fix: No longer need full shard sync for shardEnd --- .../services/kinesis/clientlibrary/lib/worker/Worker.java | 4 ---- .../kinesis/clientlibrary/lib/worker/WorkerTest.java | 6 +++++- .../clientlibrary/proxies/KinesisLocalFileProxy.java | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/Worker.java b/src/main/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/Worker.java index 9cdb71b5..f99d24d0 100644 --- a/src/main/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/Worker.java +++ b/src/main/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/Worker.java @@ -689,10 +689,6 @@ public class Worker implements Runnable { assignedShards.add(shardInfo); } - if (foundCompletedShard) { - shardSyncStrategy.onFoundCompletedShard(); - } - // clean up shard consumers for unassigned shards cleanupShardConsumers(assignedShards); diff --git a/src/test/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/WorkerTest.java b/src/test/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/WorkerTest.java index b7e1dd51..a714f0fe 100644 --- a/src/test/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/WorkerTest.java +++ b/src/test/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/WorkerTest.java @@ -2184,7 +2184,8 @@ public class WorkerTest { private List createShardListWithOneSplit() { List shards = new ArrayList(); SequenceNumberRange range0 = ShardObjectHelper.newSequenceNumberRange("39428", "987324"); - SequenceNumberRange range1 = ShardObjectHelper.newSequenceNumberRange("987325", null); + SequenceNumberRange range1 = ShardObjectHelper.newSequenceNumberRange("39428", "100000"); + SequenceNumberRange range2 = ShardObjectHelper.newSequenceNumberRange("100001", "987324"); HashKeyRange keyRange = ShardObjectHelper.newHashKeyRange(ShardObjectHelper.MIN_HASH_KEY, ShardObjectHelper.MAX_HASH_KEY); Shard shard0 = ShardObjectHelper.newShard("shardId-0", null, null, range0, keyRange); @@ -2193,6 +2194,9 @@ public class WorkerTest { Shard shard1 = ShardObjectHelper.newShard("shardId-1", "shardId-0", null, range1, keyRange); shards.add(shard1); + Shard shard2 = ShardObjectHelper.newShard("shardId-2", null, "shardId-0", range2, keyRange); + shards.add(shard2); + return shards; } diff --git a/src/test/java/com/amazonaws/services/kinesis/clientlibrary/proxies/KinesisLocalFileProxy.java b/src/test/java/com/amazonaws/services/kinesis/clientlibrary/proxies/KinesisLocalFileProxy.java index 9ade05bd..fe922520 100644 --- a/src/test/java/com/amazonaws/services/kinesis/clientlibrary/proxies/KinesisLocalFileProxy.java +++ b/src/test/java/com/amazonaws/services/kinesis/clientlibrary/proxies/KinesisLocalFileProxy.java @@ -406,12 +406,12 @@ public class KinesisLocalFileProxy implements IKinesisProxy { parentShards.add(iterator.shardId); ChildShard leftChild = new ChildShard(); - leftChild.setShardId("ShardId-1"); + leftChild.setShardId("shardId-1"); leftChild.setParentShards(parentShards); childShards.add(leftChild); ChildShard rightChild = new ChildShard(); - rightChild.setShardId("ShardId-2"); + rightChild.setShardId("shardId-2"); rightChild.setParentShards(parentShards); childShards.add(rightChild); return childShards; From 058403f943f108112f91dffee8140f95a12b2c3f Mon Sep 17 00:00:00 2001 From: Chunxue Yang Date: Thu, 9 Jul 2020 11:20:37 -0700 Subject: [PATCH 2/2] addressing comments --- .../services/kinesis/clientlibrary/lib/worker/WorkerTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/WorkerTest.java b/src/test/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/WorkerTest.java index a714f0fe..a7ca1151 100644 --- a/src/test/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/WorkerTest.java +++ b/src/test/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/WorkerTest.java @@ -2194,7 +2194,7 @@ public class WorkerTest { Shard shard1 = ShardObjectHelper.newShard("shardId-1", "shardId-0", null, range1, keyRange); shards.add(shard1); - Shard shard2 = ShardObjectHelper.newShard("shardId-2", null, "shardId-0", range2, keyRange); + Shard shard2 = ShardObjectHelper.newShard("shardId-2", "shardId-0", null, range2, keyRange); shards.add(shard2); return shards;