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

Wes McKinney updated ARROW-2490:
--------------------------------
    Fix Version/s:     (was: 0.14.0)

> [C++] input stream locking inconsistent
> ---------------------------------------
>
>                 Key: ARROW-2490
>                 URL: https://issues.apache.org/jira/browse/ARROW-2490
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: C++
>    Affects Versions: 0.9.0
>            Reporter: Antoine Pitrou
>            Priority: Major
>
> Reading from the current file pointer is inherently thread-unsafe, since the 
> file pointer may be updated by another thread (either before or during the 
> operation). However, currently, we have:
> * {{ReadableFile::Read}} takes a lock
> * {{MemoryMappedFile::Read}} doesn't take a lock
> * {{BufferReader::Read}} doesn't take a lock
> We could always take a lock in {{Read}}. But I don't think there's a pattern 
> where it's useful to call {{Read}} from multiple threads at once (since 
> you're not sure where the file pointer will be exactly when the read starts). 
> So we could as well specify that {{Read}} isn't thread-safe and let people 
> make sure they don't call it from multiple threads.



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

Reply via email to