You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "Zhijiang (Jira)" <ji...@apache.org> on 2020/06/01 14:44:00 UTC

[jira] [Created] (FLINK-18050) Fix the bug of recycling buffer twice once exception in ChannelStateWriteRequestDispatcher#dispatch

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)