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

Deepak Majeti commented on ARROW-6180:
--------------------------------------

[~wesmckinn], [~pitrou] looks like the issue can also happen in a 
single-threaded application when you read multiple column chunks in a 
row-by-row fashion from each chunk. You end up creating a BufferedInputStream 
for each chunk and all these InputStreams share the same RandomAccessFile and 
thereby getting clobbered.

> [C++] Create InputStream that references a segment of a RandomAccessFile
> ------------------------------------------------------------------------
>
>                 Key: ARROW-6180
>                 URL: https://issues.apache.org/jira/browse/ARROW-6180
>             Project: Apache Arrow
>          Issue Type: Improvement
>          Components: C++
>            Reporter: Wes McKinney
>            Assignee: Zherui Cao
>            Priority: Major
>
> If different threads wants to do buffered reads over different portions of a 
> file (and they are unable to create their own separate file handles), they 
> may clobber each other. I would propose creating an object that keeps the 
> RandomAccessFile internally and implements the InputStream API in a way that 
> is safe from other threads changing the file position



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to