From c7aae208a35a0ba72f2449eab1a0a01a58472d63 Mon Sep 17 00:00:00 2001 From: Kevin Burke Date: Wed, 29 Mar 2023 11:11:46 -0700 Subject: [PATCH] doc(sinks/aws_kinesis): describe partial failure behavior I assumed that these lines meant that failures would be retried but it does not mean that in many cases, so let's make that explicit and describe the plans to address the behavior. Updates #359. Updates #7659. Updates #16954. --- src/sinks/aws_kinesis/streams/config.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/sinks/aws_kinesis/streams/config.rs b/src/sinks/aws_kinesis/streams/config.rs index eb4f7c9e3b66f..049b5dc751e67 100644 --- a/src/sinks/aws_kinesis/streams/config.rs +++ b/src/sinks/aws_kinesis/streams/config.rs @@ -182,6 +182,12 @@ impl RetryLogic for KinesisRetryLogic { fn is_retriable_error(&self, error: &Self::Error) -> bool { if let SdkError::ServiceError { err, raw: _ } = error { + // Note that if the request partially fails (records sent to one + // partition fail but the others do not, for example), Vector + // does not retry. This line only covers a failure for the entire + // request. + // + // https://github.com/vectordotdev/vector/issues/359 if let PutRecordsErrorKind::ProvisionedThroughputExceededException(_) = err.kind { return true; }