Details
-
Sub-task
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.5.0
-
None
Description
Currently in exactly-once mode, the BarrierBuffer would block inputs with barriers until all inputs have received the barrier for a given checkpoint. To avoid back-pressuring the input streams which may cause distributed deadlocks, the BarrierBuffer has to spill the data in disk files to recycle the buffers for blocked channels.
Based on credit-based flow control, every channel has exclusive buffers, so it is no need to spill data for avoiding deadlock. Then we implement a new CheckpointBarrierHandler for only buffering the data for blocked channels for better performance.
And this new CheckpointBarrierHandler can also be configured to use or not in order to rollback the original mode for unexpected risks.
Attachments
Issue Links
- links to