protected ShardHashInfo doMerge()

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()));
	}