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)