You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Zichen Liu (Jira)" <ji...@apache.org> on 2022/01/24 19:13:00 UTC

[jira] [Created] (FLINK-25793) Kinesis Data Streams sink is not limiting throughput to the destination and therefore exceeding rate limits

Zichen Liu created FLINK-25793:
----------------------------------

             Summary: Kinesis Data Streams sink is not limiting throughput to the destination and therefore exceeding rate limits
                 Key: FLINK-25793
                 URL: https://issues.apache.org/jira/browse/FLINK-25793
             Project: Flink
          Issue Type: Bug
          Components: Connectors / Kinesis
            Reporter: Zichen Liu
            Assignee: Ahmed Hamdy
             Fix For: 1.15.0


h2. Bug:

Async Sink Base is too being flushed too frequently resulting in backpressure even when buffer is near empty

*Cause:*

During a write(), flushIfAble() is called, which checks if the number of buffered elements is greater than a batch size, and if so, insists that the sink flushes immediately, even if the number of inFlightRequests is greater than the maximum allowed number of inFlightRequests, resulting in a yield of the current mailbox thread, and hence blocks.

Notice that this can occur even if the buffer is near empty, so the blocking behaviour is unnecessary and undesirable, since we would like the element to be written to the buffer and no blocking to occur.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)