You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Yun Gao (JIRA)" <ji...@apache.org> on 2018/10/01 09:14:00 UTC

[jira] [Assigned] (FLINK-10469) FileChannel may not write the whole buffer in a single call to FileChannel.write(Buffer buffer)

     [ https://issues.apache.org/jira/browse/FLINK-10469?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Yun Gao reassigned FLINK-10469:
-------------------------------

    Assignee: Yun Gao

> 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
>    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: Major
>
> 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)