Zhijiang created FLINK-18050:
--------------------------------

             Summary: Fix the bug of recycling buffer twice once exception in 
ChannelStateWriteRequestDispatcher#dispatch
                 Key: FLINK-18050
                 URL: https://issues.apache.org/jira/browse/FLINK-18050
             Project: Flink
          Issue Type: Bug
          Components: Runtime / Checkpointing
    Affects Versions: 1.11.0
            Reporter: Zhijiang
            Assignee: Zhijiang
             Fix For: 1.11.0, 1.12.0


During ChannelStateWriteRequestDispatcherImpl#dispatch, `request.cancel(e)` is 
called to recycle the internal buffer of request once exception happens.

But for the case of requesting write output, the buffers would be also finally 
recycled inside ChannelStateCheckpointWriter#write no matter exceptions or not. 
So the buffers in request will be recycled twice in the case of exception, 
which would cause further exceptions in the network shuffle process to 
reference the same buffer.

This bug can be reproduced easily via running 
UnalignedCheckpointITCase#shouldPerformUnalignedCheckpointOnParallelRemoteChannel.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to