Author: mduerig
Date: Tue May 10 15:28:33 2016
New Revision: 1743215
URL: http://svn.apache.org/viewvc?rev=1743215&view=rev
Log:
OAK-4288: TarReader.calculateForwardReferences only used by oak-run graph tool
Cover cyclic segment references
Modified:
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentGraphTest.java
Modified:
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentGraphTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentGraphTest.java?rev=1743215&r1=1743214&r2=1743215&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentGraphTest.java
(original)
+++
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentGraphTest.java
Tue May 10 15:28:33 2016
@@ -86,18 +86,28 @@ public class SegmentGraphTest {
segments.add(getSegmentId(p2));
filteredSegments.add(getSegmentId(p2));
+ SegmentPropertyState p3 = w3.writeProperty(createProperty("p3",
"v3"));
+ segments.add(getSegmentId(p3));
+ filteredSegments.add(getSegmentId(p3));
+
NodeBuilder builder = EMPTY_NODE.builder();
builder.setProperty(p1);
builder.setProperty(p2);
+ builder.setProperty(p3);
+
+ SegmentNodeState n3 = w3.writeNode(builder.getNodeState());
+ segments.add(getSegmentId(n3));
+ filteredSegments.add(getSegmentId(n3));
+ addReference(references, getSegmentId(n3), getSegmentId(p1));
+ addReference(references, getSegmentId(n3), getSegmentId(p2));
+ addReference(filteredReferences, getSegmentId(n3),
getSegmentId(p2));
- SegmentNodeState n1 = w3.writeNode(builder.getNodeState());
- segments.add(getSegmentId(n1));
- filteredSegments.add(getSegmentId(n1));
- addReference(references, getSegmentId(n1), getSegmentId(p1));
+ // Cyclic reference
+ SegmentNodeState n1 = w1.writeNode(builder.getNodeState());
addReference(references, getSegmentId(n1), getSegmentId(p2));
- addReference(filteredReferences, getSegmentId(n1),
getSegmentId(p2));
+ addReference(references, getSegmentId(n1), getSegmentId(p3));
- store.setHead(root, n1);
+ store.setHead(root, n3);
w1.flush();
w2.flush();