in src/main/java/com/amazonaws/services/kinesis/scaling/AdjacentShards.java [53:68]
protected ShardHashInfo doMerge(KinesisClient kinesisClient, String currentHighestShardId) throws Exception {
StreamScalingUtils.mergeShards(kinesisClient, streamName, this.lowerShard, this.higherShard, true);
Map<String, ShardHashInfo> openShards = StreamScalingUtils.getOpenShards(kinesisClient, streamName,
currentHighestShardId);
for (ShardHashInfo info : openShards.values()) {
if (lowerShard.getShardId().equals(info.getShard().parentShardId())
&& higherShard.getShardId().equals(info.getShard().adjacentParentShardId())) {
return new ShardHashInfo(streamName, info.getShard());
}
}
throw new Exception(String.format("Unable resolve new created Shard for parents %s and %s",
lowerShard.getShardId(), higherShard.getShardId()));
}