diff --git a/pom.xml b/pom.xml
index 16d09bbf..26304866 100644
--- a/pom.xml
+++ b/pom.xml
@@ -242,6 +242,35 @@
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 2.10.3
+
+ com.amazonaws.services.kinesis.producer.protobuf
+
+
+
+ attach-javadocs
+
+ jar
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-source-plugin
+ 3.0.1
+
+
+ attach-sources
+
+ jar
+
+
+
+
diff --git a/src/main/java/com/amazonaws/services/kinesis/clientlibrary/interfaces/v2/IRecordProcessor.java b/src/main/java/com/amazonaws/services/kinesis/clientlibrary/interfaces/v2/IRecordProcessor.java
index 25087f03..bd445ac9 100644
--- a/src/main/java/com/amazonaws/services/kinesis/clientlibrary/interfaces/v2/IRecordProcessor.java
+++ b/src/main/java/com/amazonaws/services/kinesis/clientlibrary/interfaces/v2/IRecordProcessor.java
@@ -45,10 +45,16 @@ public interface IRecordProcessor {
/**
* Invoked by the Amazon Kinesis Client Library to indicate it will no longer send data records to this
- * RecordProcessor instance.
+ * RecordProcessor instance.
*
- * @param shutdownInput Provides information and capabilities (eg checkpointing) related to shutdown of this record
- * processor.
+ *
Warning
+ *
+ * When the value of {@link ShutdownInput#getShutdownReason()} is
+ * {@link com.amazonaws.services.kinesis.clientlibrary.lib.worker.ShutdownReason#TERMINATE} it is required that you
+ * checkpoint. Failure to do so will result in an IllegalArgumentException, and the KCL no longer making progress.
+ *
+ * @param shutdownInput
+ * Provides information and capabilities (eg checkpointing) related to shutdown of this record processor.
*/
void shutdown(ShutdownInput shutdownInput);
diff --git a/src/main/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/KinesisClientLibConfiguration.java b/src/main/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/KinesisClientLibConfiguration.java
index b250d943..840ed7e9 100644
--- a/src/main/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/KinesisClientLibConfiguration.java
+++ b/src/main/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/KinesisClientLibConfiguration.java
@@ -56,7 +56,8 @@ public class KinesisClientLibConfiguration {
public static final int DEFAULT_MAX_RECORDS = 10000;
/**
- * Idle time between record reads in milliseconds.
+ * The default value for how long the {@link ShardConsumer} should sleep if no records are returned from the call to
+ * {@link com.amazonaws.services.kinesis.AmazonKinesis#getRecords(com.amazonaws.services.kinesis.model.GetRecordsRequest)}.
*/
public static final long DEFAULT_IDLETIME_BETWEEN_READS_MILLIS = 1000L;
@@ -802,7 +803,23 @@ public class KinesisClientLibConfiguration {
}
/**
- * @param idleTimeBetweenReadsInMillis Idle time between calls to fetch data from Kinesis
+ * Controls how long the KCL will sleep if no records are returned from Kinesis
+ *
+ *
+ * This value is only used when no records are returned; if records are returned, the {@link com.amazonaws.services.kinesis.clientlibrary.lib.worker.ProcessTask} will
+ * immediately retrieve the next set of records after the call to
+ * {@link com.amazonaws.services.kinesis.clientlibrary.interfaces.v2.IRecordProcessor#processRecords(ProcessRecordsInput)}
+ * has returned. Setting this value to high may result in the KCL being unable to catch up. If you are changing this
+ * value it's recommended that you enable {@link #withCallProcessRecordsEvenForEmptyRecordList(boolean)}, and
+ * monitor how far behind the records retrieved are by inspecting
+ * {@link com.amazonaws.services.kinesis.clientlibrary.types.ProcessRecordsInput#getMillisBehindLatest()}, and the
+ * CloudWatch
+ * Metric: GetRecords.MillisBehindLatest
+ *
+ *
+ * @param idleTimeBetweenReadsInMillis
+ * how long to sleep between GetRecords calls when no records are returned.
* @return KinesisClientLibConfiguration
*/
public KinesisClientLibConfiguration withIdleTimeBetweenReadsInMillis(long idleTimeBetweenReadsInMillis) {