jackrabbit-oak-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jukka Zitting <jukka.zitt...@gmail.com>
Subject Re: svn commit: r1583994 - in /jackrabbit/oak/trunk/oak-core/src: main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/OakFileDataStore.java test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/OakFileDataStoreTest.java
Date Wed, 02 Apr 2014 13:00:42 GMT
Hi,

On Wed, Apr 2, 2014 at 8:25 AM,  <chetanm@apache.org> wrote:
> +        //TODO FIXME Temporary workaround for OAK-1666. Override the default
> +        //synchronized map with a Noop. This should be removed when fix
> +        //for JCR-3764 is part of release.
> +        inUse = new NoOpMap<DataIdentifier, WeakReference<DataIdentifier>>();

This breaks the following client:

    Binary binary = session.getValueFactory().createBinary(...);
    // wait over a garbage collection cycle
    session.getRootNode().setProperty("foo", binary);
    session.save();

Note that the wait in between could be anything, in the worst case
just bad timing or more likely some other long-running statements like
waiting for user input or creating other large binaries.

The inUse map is in FileDataStore for a reason. If it's causing
performance issues, the right solution is *not* to just disable it but
rather to figure out how the same functionality could be achieved more
efficiently.

BR,

Jukka Zitting

Mime
View raw message