Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
Description
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.
Attachments
Issue Links
- is caused by
-
FLINK-24041 [FLIP-171] Generic AsyncSinkBase
- Resolved
-
FLINK-24905 [FLIP-171] KDS implementation of Async Sink Table API
- Closed
- is cloned by
-
FLINK-25976 Update the KDS and KDF Sink's defaults & update the docs
- Resolved
- is related to
-
FLINK-25793 Fix high throughput rate of AsyncSinkWriter for throttled destination
- Resolved
- links to