Hong Liang Teoh created FLINK-35989: ---------------------------------------
Summary: Document and log error on partially failed requests for AWS sinks Key: FLINK-35989 URL: https://issues.apache.org/jira/browse/FLINK-35989 Project: Flink Issue Type: Improvement Components: Connectors / DynamoDB, Connectors / Firehose, Connectors / Kinesis Affects Versions: aws-connector-4.3.0 Reporter: Hong Liang Teoh Fix For: aws-connector-4.4.0 h2. Problem Currently, AWS sinks send batch write requests to endpoints. On partial failure within the batch (only some records fail), we perform retries or fail the job, but we don't log the error returned. {code:java} private void handlePartiallyFailedRequest( PutRecordsResponse response, List<PutRecordsRequestEntry> requestEntries, Consumer<List<PutRecordsRequestEntry>> requestResult) { LOG.warn( "KDS Sink failed to write and will retry {} entries to KDS", response.failedRecordCount()); numRecordsOutErrorsCounter.inc(response.failedRecordCount()); if (failOnError) { getFatalExceptionCons() .accept(new KinesisStreamsException.KinesisStreamsFailFastException()); return; } List<PutRecordsRequestEntry> failedRequestEntries = new ArrayList<>(response.failedRecordCount()); List<PutRecordsResultEntry> records = response.records(); for (int i = 0; i < records.size(); i++) { if (records.get(i).errorCode() != null) { failedRequestEntries.add(requestEntries.get(i)); } } requestResult.accept(failedRequestEntries); }{code} Code link: [https://github.com/apache/flink-connector-aws/blob/main/flink-connector-aws/flink-connector-aws-kinesis-streams/src/main/java/org/apache/flink/connector/kinesis/sink/KinesisStreamsSinkWriter.java#L254-L274] h2. What we want to do We should log the reason for failure to assist user debugging. -- This message was sent by Atlassian Jira (v8.20.10#820010)