You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Tomek Rękawek (JIRA)" <ji...@apache.org> on 2016/11/21 12:29:59 UTC

[jira] [Assigned] (OAK-5133) StoreArgument class getter method opens repo in read/write and unsafe MMAP mode

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

Tomek Rękawek reassigned OAK-5133:
----------------------------------

    Assignee: Tomek Rękawek

> StoreArgument class getter method opens repo in read/write and unsafe MMAP mode
> -------------------------------------------------------------------------------
>
>                 Key: OAK-5133
>                 URL: https://issues.apache.org/jira/browse/OAK-5133
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: upgrade
>    Affects Versions: 1.5.13
>            Reporter: Arek Kita
>            Assignee: Tomek Rękawek
>            Priority: Critical
>             Fix For: 1.6
>
>
> It seems that the getter method {{hasExternalBlobReferences()}} for a few implementations in scope of [the following commit|https://github.com/apache/jackrabbit-oak/commit/1cb749f87611e195515bf5998cbbedb0b9523c13#diff-f61fc3093dd3b539184a71f6dc5ab9b8R105] introduced a full source repo access routine that can cause serious lock issues (especially when opened in MMAP mode for Windows environments). 
> Moreover, reinitialisation of {{StoreArguments}} leads to [OverlappingFileLockException|https://docs.oracle.com/javase/7/docs/api/java/nio/channels/OverlappingFileLockException.html].
> Such getter method should only open repository in read only mode (using {{buildReadOnly()}} of [FileStoreBuilder|https://github.com/apache/jackrabbit-oak/blob/trunk/oak-segment/src/main/java/org/apache/jackrabbit/oak/plugins/segment/file/FileStore.java#L392]) method. 
> Considering setting MMAP always to false might be also a good idea to avoid buffer leakages (as getter should require as few features as possible) to be compatible.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)