@Override protected Long createColumn( final MarkedEdge last ) { return last.getTimestamp(); }
@Override public int compare( final MarkedEdge o1, final MarkedEdge o2 ) { return Long.compare( o1.getTimestamp(), o2.getTimestamp() )*-1; } }
@Override protected DirectedEdge createColumn( final MarkedEdge last ) { return new DirectedEdge( last.getTargetNode(), last.getTimestamp() ); }
@Override protected DirectedEdge createColumn( final MarkedEdge last ) { return new DirectedEdge( last.getTargetNode(), last.getTimestamp() ); }
@Override protected DirectedEdge createColumn( final MarkedEdge last ) { return new DirectedEdge( last.getTargetNode(), last.getTimestamp() ); }
@Override protected DirectedEdge createColumn( final MarkedEdge last ) { return new DirectedEdge( last.getSourceNode(), last.getTimestamp() ); }
@Override public int compare( final MarkedEdge first, final MarkedEdge second ) { int compare = Long.compare( first.getTimestamp(), second.getTimestamp() ) * -1; if(compare == 0){ final Id firstId = getId( first ); final Id secondId = getId( second ); compare = UUIDComparator.staticCompare( firstId.getUuid(), secondId.getUuid() ) * -1; if(compare == 0){ compare = firstId.getType().compareTo( secondId.getType() ); } } return compare; }
final long edgeTimestamp = edge.getTimestamp(); return new SimpleMarkedEdge( edge.getSourceNode(), edge.getType(), edge.getTargetNode(), edge.getTimestamp(), edge.isDeleted(), isSourceDeleted, isTargetDeleted );
/** * Write the source write operation */ private EdgeVersions( final EdgeColumnFamilies edgeColumnFamilies, final MarkedEdge markedEdge, final DirectedEdgeMeta directedEdgeMeta ) { this.columnFamily = edgeColumnFamilies.getGraphEdgeVersions(); this.targetNode = markedEdge.getTargetNode(); this.sourceNode = markedEdge.getSourceNode(); this.type = markedEdge.getType(); this.isDeleted = markedEdge.isDeleted(); this.edgeVersion = markedEdge.getTimestamp(); this.directedEdgeMeta = directedEdgeMeta; }
/** * Write the source write operation */ private SourceWriteOp( final EdgeColumnFamilies edgeColumnFamilies, final MarkedEdge markedEdge, final DirectedEdgeMeta directedEdgeMeta ) { this.columnFamily = edgeColumnFamilies.getSourceNodeCfName(); this.sourceNodeId = markedEdge.getSourceNode(); this.type = markedEdge.getType(); this.isDeleted = markedEdge.isDeleted(); this.directedEdge = new DirectedEdge( markedEdge.getTargetNode(), markedEdge.getTimestamp() ); this.directedEdgeMeta = directedEdgeMeta; }
/** * Write the source write operation */ private TargetWriteOp( final EdgeColumnFamilies edgeColumnFamilies, final MarkedEdge markedEdge, final DirectedEdgeMeta directedEdgeMeta ) { this.columnFamily = edgeColumnFamilies.getTargetNodeCfName(); this.targetNode = markedEdge.getTargetNode(); this.type = markedEdge.getType(); this.isDeleted = markedEdge.isDeleted(); this.directedEdge = new DirectedEdge( markedEdge.getSourceNode(), markedEdge.getTimestamp() ); this.directedEdgeMeta = directedEdgeMeta; }
/** * Write the source write operation */ private SourceTargetTypeWriteOp( final EdgeColumnFamilies edgeColumnFamilies, final MarkedEdge markedEdge, final DirectedEdgeMeta directedEdgeMeta ) { this.columnFamily = edgeColumnFamilies.getSourceNodeTargetTypeCfName(); this.sourceNodeId = markedEdge.getSourceNode(); this.type = markedEdge.getType(); this.targetId = markedEdge.getTargetNode(); this.isDeleted = markedEdge.isDeleted(); this.directedEdge = new DirectedEdge( targetId, markedEdge.getTimestamp() ); this.directedEdgeMeta = directedEdgeMeta; }
/** * Write the source write operation */ private TargetSourceTypeWriteOp( final EdgeColumnFamilies edgeColumnFamilies, final MarkedEdge markedEdge, final DirectedEdgeMeta directedEdgeMeta ) { this.columnFamily = edgeColumnFamilies.getSourceNodeTargetTypeCfName(); this.targetNode = markedEdge.getTargetNode(); this.sourceNode = markedEdge.getSourceNode(); this.type = markedEdge.getType(); this.isDeleted = markedEdge.isDeleted(); this.directedEdge = new DirectedEdge( sourceNode, markedEdge.getTimestamp() ); this.directedEdgeMeta = directedEdgeMeta; }
public Observable<Integer> receive( final ApplicationScope scope, final MarkedEdge edge, final UUID eventTimestamp ) { final long maxTimestamp = edge.getTimestamp(); return edgeDeleteRepair.repair( scope, edge, eventTimestamp ) .flatMap( markedEdge -> { Observable<Integer> sourceDelete = edgeMetaRepair .repairSources( scope, edge.getSourceNode(), edge.getType(), maxTimestamp ); Observable<Integer> targetDelete = edgeMetaRepair .repairTargets( scope, edge.getTargetNode(), edge.getType(), maxTimestamp ); return MathObservable.sumInteger( Observable.merge( sourceDelete, targetDelete ) ); } ); } }
MarkedEdge firstEdge = edgeList.get(0); long currentTimestamp = CpNamingUtils.createGraphOperationTimestamp(); long edgeTimestamp = firstEdge.getTimestamp(); long timestampDiff = currentTimestamp - edgeTimestamp; long orphanDelaySecs = readRepairFig.getEdgeOrphanDelaySecs();
Long.compare( edgev1.getTimestamp(), edgev2.getTimestamp() ) < 0 ); search = createGetByEdge( sourceId, "edge1", targetId, edgev1.getTimestamp(), null );
@Test public void cleanTargetSingleEdge() throws ConnectionException { MarkedEdge edge = createEdge( "source", "test", "target" ); storageEdgeSerialization.writeEdge( scope, edge, UUIDGenerator.newTimeUUID() ).execute(); edgeMetadataSerialization.writeEdge( scope, edge ).execute(); int value = edgeMetaRepair.repairTargets( scope, edge.getTargetNode(), edge.getType(), edge.getTimestamp() ) .toBlocking().single(); assertEquals( "No subtypes removed, edge exists", 1, value ); //now delete the edge storageEdgeSerialization.deleteEdge( scope, edge, UUIDGenerator.newTimeUUID() ).execute(); value = edgeMetaRepair.repairTargets( scope, edge.getTargetNode(), edge.getType(), edge.getTimestamp() ) .toBlocking().single(); assertEquals( "Single subtype should be removed", 0, value ); //now verify they're gone Iterator<String> edgeTypes = edgeMetadataSerialization .getEdgeTypesToTarget( scope, new SimpleSearchEdgeType( edge.getTargetNode(), null, null ) ); assertFalse( "No edge types exist", edgeTypes.hasNext() ); Iterator<String> sourceTypes = edgeMetadataSerialization .getIdTypesToTarget( scope, new SimpleSearchIdType( edge.getTargetNode(), edge.getType(), null, null ) ); assertFalse( "No edge types exist", sourceTypes.hasNext() ); }
@Test public void cleanSourceSingleEdge() throws ConnectionException { MarkedEdge edge = createEdge( "source", "test", "target" ); storageEdgeSerialization.writeEdge( scope, edge, UUIDGenerator.newTimeUUID() ).execute(); edgeMetadataSerialization.writeEdge( scope, edge ).execute(); int value = edgeMetaRepair.repairSources( scope, edge.getSourceNode(), edge.getType(), edge.getTimestamp() ) .toBlocking().single(); assertEquals( "No subtypes removed, edge exists", 1, value ); //now delete the edge storageEdgeSerialization.deleteEdge( scope, edge, UUIDGenerator.newTimeUUID() ).execute(); value = edgeMetaRepair.repairSources( scope, edge.getSourceNode(), edge.getType(), edge.getTimestamp() ) .toBlocking().single(); assertEquals( "Single subtype should be removed", 0, value ); //now verify they're gone Iterator<String> edgeTypes = edgeMetadataSerialization .getEdgeTypesFromSource( scope, new SimpleSearchEdgeType( edge.getSourceNode(), null, null ) ); assertFalse( "No edge types exist", edgeTypes.hasNext() ); Iterator<String> sourceTypes = edgeMetadataSerialization .getIdTypesFromSource( scope, new SimpleSearchIdType( edge.getSourceNode(), edge.getType(),null, null ) ); assertFalse( "No edge types exist", sourceTypes.hasNext() ); }
final Id targetNode = markedEdge.getTargetNode(); final String edgeType = markedEdge.getType(); final long edgeTimestamp = markedEdge.getTimestamp();
final Id targetNode = markedEdge.getTargetNode(); final String edgeType = markedEdge.getType(); final long edgeTimestamp = markedEdge.getTimestamp();