Author: mreutegg Date: Tue Aug 26 12:52:19 2014 New Revision: 1620588 URL: http://svn.apache.org/r1620588 Log: OAK-2053: Excessive memory usage with Oracle Java 6
Merge revision 1620581 from trunk Modified: jackrabbit/oak/branches/1.0/ (props changed) jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeState.java Propchange: jackrabbit/oak/branches/1.0/ ------------------------------------------------------------------------------ Merged /jackrabbit/oak/trunk:r1620581 Modified: jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeState.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeState.java?rev=1620588&r1=1620587&r2=1620588&view=diff ============================================================================== --- jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeState.java (original) +++ jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeState.java Tue Aug 26 12:52:19 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('}');