You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Danny Cranmer (Jira)" <ji...@apache.org> on 2022/10/14 16:20:00 UTC
[jira] [Updated] (FLINK-21228) Deadlock in KinesisProducer
[ https://issues.apache.org/jira/browse/FLINK-21228?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Danny Cranmer updated FLINK-21228:
----------------------------------
Summary: Deadlock in KinesisProducer (was: [Kinesis][Producer] Deadlock in KinesisProducer)
> Deadlock in KinesisProducer
> ---------------------------
>
> Key: FLINK-21228
> URL: https://issues.apache.org/jira/browse/FLINK-21228
> Project: Flink
> Issue Type: Bug
> Components: Connectors / Kinesis
> Affects Versions: 1.12.1
> Reporter: Danny Cranmer
> Priority: Not a Priority
> Labels: auto-deprioritized-major, auto-deprioritized-minor, auto-unassigned
>
> *Background*
> Kinesis sink failed and resulted in deadlock:
> - Indefinite backpressure being applied
> - Exception never thrown causing job to fail
> Application running with:
> {code:java}
> flinkKinesisProducer.setQueueLimit(1);
> flinkKinesisProducer.setFailOnError(true);
> {code}
> - {{KinesisProducer}} is waiting for queue to empty before sending the next record ([code|https://github.com/apache/flink/blob/master/flink-connectors/flink-connector-kinesis/src/main/java/org/apache/flink/streaming/connectors/kinesis/FlinkKinesisProducer.java#L303])
> - KPL ran out of memory, which raised an error, however this is processed async ([code|https://github.com/apache/flink/blob/master/flink-connectors/flink-connector-kinesis/src/main/java/org/apache/flink/streaming/connectors/kinesis/FlinkKinesisProducer.java#L275])
> - {{KinesisProducer}} would have rethrown the error and restarted the job, however operator stuck in an infinite loop enforcing the queue limit (which never clears) ([code|https://github.com/apache/flink/blob/master/flink-connectors/flink-connector-kinesis/src/main/java/org/apache/flink/streaming/connectors/kinesis/FlinkKinesisProducer.java#L306])
> *Proposal*
> - {{checkAndPropagateAsyncError()}} while enforcing queue limit in {{enforceQueueLimit()}} to break deadlock
--
This message was sent by Atlassian Jira
(v8.20.10#820010)