[ https://issues.apache.org/jira/browse/FLINK-10469?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16638121#comment-16638121 ]
Yun Gao commented on FLINK-10469: --------------------------------- [~NicoK] [~pnowojski] Sorry for responding later. I found the problem by accidentally adding logs to test whether the whole buffer is written when I want to solve a problem of failing to deserialized files. I will view the pull request by Nico as soon as possible. :) > FileChannel may not write the whole buffer in a single call to > FileChannel.write(Buffer buffer) > ----------------------------------------------------------------------------------------------- > > Key: FLINK-10469 > URL: https://issues.apache.org/jira/browse/FLINK-10469 > Project: Flink > Issue Type: Bug > Components: Core, Network > Affects Versions: 1.4.1, 1.4.2, 1.5.3, 1.6.0, 1.6.1, 1.7.0, 1.5.4, 1.6.2 > Reporter: Yun Gao > Assignee: Yun Gao > Priority: Blocker > Labels: pull-request-available > Fix For: 1.7.0, 1.6.2, 1.5.5 > > > Currently all the calls to _FileChannel.write(ByteBuffer src)_ assumes that > this method will not return before the whole buffer is written, like the one > in _AsynchronousFileIOChannel.write()._ > > However, this assumption may not be right for all the environments. We have > encountered the case that only part of a buffer was written on a cluster with > a high IO load, and the target file got messy. > > To fix this issue, I think we should add a utility method in the > org.apache.flink.util.IOUtils to ensure the whole buffer is written with a > loop,and replace all the calls to _FileChannel.write(ByteBuffer)_ with this > new method. -- This message was sent by Atlassian JIRA (v7.6.3#76005)