You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by ju...@apache.org on 2010/09/29 14:28:42 UTC
svn commit: r1002589 -
/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/ItemStateReferenceCache.java
Author: jukka
Date: Wed Sep 29 12:28:42 2010
New Revision: 1002589
URL: http://svn.apache.org/viewvc?rev=1002589&view=rev
Log:
JCR-2699: Improve read/write concurrency
Revert back to weak references in ItemStateReferenceCache as using soft references seems to cause notable performance drop in the TCK test run
Modified:
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/ItemStateReferenceCache.java
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/ItemStateReferenceCache.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/ItemStateReferenceCache.java?rev=1002589&r1=1002588&r2=1002589&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/ItemStateReferenceCache.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/ItemStateReferenceCache.java Wed Sep 29 12:28:42 2010
@@ -54,7 +54,12 @@ public class ItemStateReferenceCache imp
*/
@SuppressWarnings("unchecked")
private final Map<ItemId, ItemState> refs =
- new ReferenceMap(ReferenceMap.HARD, ReferenceMap.SOFT);
+ // I tried using soft instead of weak references here, but that
+ // seems to have some unexpected performance consequences (notable
+ // increase in the JCR TCK run time). So even though soft references
+ // are generally recommended over weak references for caching
+ // purposes, it seems that using weak references is safer here.
+ new ReferenceMap(ReferenceMap.HARD, ReferenceMap.WEAK);
/**
* secondary cache that automatically flushes entries based on some