From cc2e92001a080deae8379acac5ae785b87017899 Mon Sep 17 00:00:00 2001 From: "Pfifer, Justin" Date: Wed, 27 Sep 2017 09:58:33 -0700 Subject: [PATCH] Change the TerminalResult to return an empty GetRecordsResult Changes the TerminalResult to provide an empty GetRecordsResult, which components downstream depend on. --- .../lib/worker/KinesisDataFetcher.java | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/KinesisDataFetcher.java b/src/main/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/KinesisDataFetcher.java index 4645ca05..a5efea6a 100644 --- a/src/main/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/KinesisDataFetcher.java +++ b/src/main/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/KinesisDataFetcher.java @@ -67,26 +67,24 @@ class KinesisDataFetcher { if (!isInitialized) { throw new IllegalArgumentException("KinesisDataFetcher.getRecords called before initialization."); } - - DataFetcherResult response; + if (nextIterator != null) { try { - response = new AdvancingResult(kinesisProxy.get(nextIterator, maxRecords)); + return new AdvancingResult(kinesisProxy.get(nextIterator, maxRecords)); } catch (ResourceNotFoundException e) { LOG.info("Caught ResourceNotFoundException when fetching records for shard " + shardId); - response = TERMINAL_RESULT; + return TERMINAL_RESULT; } } else { - response = TERMINAL_RESULT; + return TERMINAL_RESULT; } - - return response; } final DataFetcherResult TERMINAL_RESULT = new DataFetcherResult() { @Override public GetRecordsResult getResult() { - return null; + return new GetRecordsResult().withMillisBehindLatest(null).withRecords(Collections.emptyList()) + .withNextShardIterator(null); } @Override