in src/main/java/com/amazonaws/kinesisvideo/parser/kinesis/KinesisRecordProcessor.java [115:139]
private void processRecordsWithRetries(final List<Record> records) {
for (final Record record : records) {
boolean processedSuccessfully = false;
for (int i = 0; i < NUM_RETRIES; i++) {
try {
processSingleRecord(record);
processedSuccessfully = true;
break;
} catch (final Throwable t) {
LOG.warn("Caught throwable while processing record " + record, t);
}
// backoff if we encounter an exception.
try {
Thread.sleep(BACKOFF_TIME_IN_MILLIS);
} catch (final InterruptedException e) {
LOG.debug("Interrupted sleep", e);
}
}
if (!processedSuccessfully) {
LOG.error("Couldn't process record " + record + ". Skipping the record.");
}
}
}