Author: mreutegg
Date: Tue Aug 26 12:26:04 2014
New Revision: 1620581

URL: http://svn.apache.org/r1620581
Log:
OAK-2053: Excessive memory usage with Oracle Java 6

Modified:
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeState.java

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeState.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeState.java?rev=1620581&r1=1620580&r2=1620581&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeState.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeState.java
 Tue Aug 26 12:26:04 2014
@@ -53,6 +53,7 @@ import com.google.common.collect.Iterato
 import com.google.common.collect.Maps;
 
 import static com.google.common.base.Preconditions.checkNotNull;
+import static 
org.apache.jackrabbit.oak.plugins.document.util.Utils.unshareString;
 import static 
org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.EMPTY_NODE;
 
 /**
@@ -405,7 +406,7 @@ class DocumentNodeState extends Abstract
             }
             switch (r) {
                 case '+': {
-                    String name = t.readString();
+                    String name = unshareString(t.readString());
                     t.read(':');
                     t.read('{');
                     while (t.read() != '}') {
@@ -415,12 +416,12 @@ class DocumentNodeState extends Abstract
                     break;
                 }
                 case '-': {
-                    String name = t.readString();
+                    String name = unshareString(t.readString());
                     continueComparison = diff.childNodeDeleted(name, 
base.getChildNode(name));
                     break;
                 }
                 case '^': {
-                    String name = t.readString();
+                    String name = unshareString(t.readString());
                     t.read(':');
                     if (t.matches('{')) {
                         t.read('}');


Reply via email to