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)