You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Antoine Pitrou (JIRA)" <ji...@apache.org> on 2018/07/12 09:44:00 UTC

[jira] [Commented] (ARROW-2835) [C++] ReadAt/WriteAt are inconsistent with moving the files position

    [ https://issues.apache.org/jira/browse/ARROW-2835?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16541394#comment-16541394 ] 

Antoine Pitrou commented on ARROW-2835:
---------------------------------------

Unfortunately, things are bit more complicated as in some cases, ReadAt / WriteAt are forced to update the file position anyway (on Windows, see implementation of {{FileRead}} in {{io-util.cc}}).

> [C++] ReadAt/WriteAt are inconsistent with moving the files position
> --------------------------------------------------------------------
>
>                 Key: ARROW-2835
>                 URL: https://issues.apache.org/jira/browse/ARROW-2835
>             Project: Apache Arrow
>          Issue Type: New Feature
>            Reporter: Dimitri Vorona
>            Priority: Major
>
> Right now, there is inconsistent behaviour regarding moving the files position pointer after calling ReadAt or WriteAt. For example, the default implementation of ReadAt seeks to the desired offset and calls Read which moves the position pointer. MemoryMappedFile::ReadAt, however, doesn't change the position. WriteableFile::WriteAt seem to move the position in the current implementation, but there is no docstring which prescribes this behaviour.
> Antoine suggested that *At methods shouldn't touch the position and it makes more sense, IMHO. The change isn't huge and doesn't seem to break anything internally, but it might break the existing user code.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)