Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-21228

Deadlock in KinesisProducer

    XMLWordPrintableJSON

Details

    Description

      Background
      Kinesis sink failed and resulted in deadlock:

      • Indefinite backpressure being applied
      • Exception never thrown causing job to fail

      Application running with:

      flinkKinesisProducer.setQueueLimit(1);
      flinkKinesisProducer.setFailOnError(true); 
      
      • KinesisProducer is waiting for queue to empty before sending the next record (code)
      • KPL ran out of memory, which raised an error, however this is processed async (code)
      • 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)

      Proposal

      • checkAndPropagateAsyncError() while enforcing queue limit in enforceQueueLimit() to break deadlock

      Attachments

        Activity

          People

            Unassigned Unassigned
            danny.cranmer Danny Cranmer
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: