in LambdaSink/src/main/java/com/amazonaws/services/kinesisanalytics/AwsLambdaSink.java [192:200]
private boolean shouldPublish() {
boolean maxRecordsReached = bufferedRecords.size() >= maxRecordsPerFunctionCall * maxConcurrency;
boolean maxBufferedBytesReached = (buffedBytes / MAX_PAYLOAD_BYTES) >= maxConcurrency;
boolean maxTimeInBufferReached = (lastPublishTime + maxBufferTimeInMillis) <= System.currentTimeMillis();
LOG.debug("Should publish - maxRecordsReached: " + maxRecordsReached + ", maxBufferedBytesReached: " + maxBufferedBytesReached + ", maxTimeInBufferReached: " + maxTimeInBufferReached);
return maxRecordsReached
|| maxBufferedBytesReached
|| maxTimeInBufferReached;
}