[ https://issues.apache.org/jira/browse/FLINK-35989?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ASF GitHub Bot updated FLINK-35989: ----------------------------------- Labels: pull-request-available (was: ) > 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 > Priority: Major > Labels: pull-request-available > 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)