From 620d36559df3cb9e89bde154adddf33739461ab1 Mon Sep 17 00:00:00 2001 From: "Brian M. Carr" Date: Mon, 9 May 2016 11:40:50 -0500 Subject: [PATCH] Fix #36 Avoid failure on start due to CreateTable Current implementation uses a ResourceInUse side-effect to detect that the table already exists. This requires that the user/role running the KCL have the CreateTable permission. Update the LeaseManager to check if the table exists to allow limited privilege users to run KCL code. --- .../amazonaws/services/kinesis/leases/impl/LeaseManager.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/com/amazonaws/services/kinesis/leases/impl/LeaseManager.java b/src/main/java/com/amazonaws/services/kinesis/leases/impl/LeaseManager.java index e2970def..7407e84a 100644 --- a/src/main/java/com/amazonaws/services/kinesis/leases/impl/LeaseManager.java +++ b/src/main/java/com/amazonaws/services/kinesis/leases/impl/LeaseManager.java @@ -115,6 +115,9 @@ public class LeaseManager implements ILeaseManager { request.setProvisionedThroughput(throughput); try { + if (leaseTableExists()) { + return false; + } dynamoDBClient.createTable(request); } catch (ResourceInUseException e) { tableDidNotExist = false;