Author: frm
Date: Mon Jul 4 11:44:16 2016
New Revision: 1751254
URL: http://svn.apache.org/viewvc?rev=1751254&view=rev
Log:
OAK-4525 - Keep the reference to the serialized stable ID of a copied node
record
Modified:
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/RecordWriters.java
Modified:
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/RecordWriters.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/RecordWriters.java?rev=1751254&r1=1751253&r2=1751254&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/RecordWriters.java
(original)
+++
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/RecordWriters.java
Mon Jul 4 11:44:16 2016
@@ -497,16 +497,17 @@ final class RecordWriters {
@Override
protected RecordId writeRecordContent(RecordId id, SegmentBufferWriter
writer) {
- // Write the stable record ID. This is only a marker and is not a
- // reference to another record. Because of this, those record IDs
- // should not be marked as references.
+ // Write the stable record ID. If no stable ID exists (in case of a
+ // new node state), it is generated from the current record ID. In
+ // this case, the generated stable ID is only a marker and is not a
+ // reference to another record.
if (stableId == null) {
// Write this node's record id to indicate that the stable id
is not
// explicitly stored.
writer.writeRecordId(id, false);
} else {
- writer.writeRecordId(stableId, false);
+ writer.writeRecordId(stableId);
}
for (RecordId recordId : ids) {