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

Francois Saint-Jacques commented on ARROW-3660:
-----------------------------------------------

You should still be able to resize a read-only memory map. Use case: process-1 
append-only writer, process-2 reader that needs to remap once in a while. I'd 
change the following:
 * Take a new optional flag (default=true) in the constructor that hints if the 
memory map is expected to be resizable, e.g. `resizable`.
 * Hide the lock/mutex condition in a private method, e.g. `GetResizeMutex()` 
and in this function, switch on this new property instead of `writable()`.

Thus if you want the performance optimisation by avoiding the contended mutex, 
you construct with `resizable=false`.

> [C++] Don't unnecessarily lock MemoryMappedFile for resizing in readonly files
> ------------------------------------------------------------------------------
>
>                 Key: ARROW-3660
>                 URL: https://issues.apache.org/jira/browse/ARROW-3660
>             Project: Apache Arrow
>          Issue Type: New Feature
>          Components: C++
>    Affects Versions: 0.11.0
>            Reporter: Dimitri Vorona
>            Priority: Minor
>              Labels: pull-request-available
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> We lock the resize_lock_ on every read, even though it's not possible to 
> resize read-only files. 
>  
> This also inlines the ResizeMap method into Resize.



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

Reply via email to