Repository: usergrid Updated Branches: refs/heads/hotfix-20160819 a3e8946fa -> 620e83746
fix for CollectionIterator tool orphaned connections deletion Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/0e0f8058 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/0e0f8058 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/0e0f8058 Branch: refs/heads/hotfix-20160819 Commit: 0e0f8058074485b94c1690a28ed8990bcb6d2066 Parents: 4b01bc8 Author: Mike Dunker <[email protected]> Authored: Tue Aug 30 13:45:09 2016 -0700 Committer: Mike Dunker <[email protected]> Committed: Tue Aug 30 13:45:09 2016 -0700 ---------------------------------------------------------------------- .../apache/usergrid/tools/CollectionIterator.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/usergrid/blob/0e0f8058/stack/tools/src/main/java/org/apache/usergrid/tools/CollectionIterator.java ---------------------------------------------------------------------- diff --git a/stack/tools/src/main/java/org/apache/usergrid/tools/CollectionIterator.java b/stack/tools/src/main/java/org/apache/usergrid/tools/CollectionIterator.java index a682e44..16c208d 100644 --- a/stack/tools/src/main/java/org/apache/usergrid/tools/CollectionIterator.java +++ b/stack/tools/src/main/java/org/apache/usergrid/tools/CollectionIterator.java @@ -22,12 +22,19 @@ import java.text.SimpleDateFormat; import java.util.*; import com.google.common.base.Optional; +import com.netflix.astyanax.MutationBatch; import org.apache.usergrid.corepersistence.pipeline.read.ResultsPage; import org.apache.usergrid.corepersistence.results.IdQueryExecutor; import org.apache.usergrid.corepersistence.service.CollectionSearch; import org.apache.usergrid.corepersistence.service.CollectionService; import org.apache.usergrid.persistence.*; +import org.apache.usergrid.persistence.core.scope.ApplicationScope; import org.apache.usergrid.persistence.core.scope.ApplicationScopeImpl; +import org.apache.usergrid.persistence.graph.Edge; +import org.apache.usergrid.persistence.graph.MarkedEdge; +import org.apache.usergrid.persistence.graph.impl.SimpleEdge; +import org.apache.usergrid.persistence.graph.impl.SimpleMarkedEdge; +import org.apache.usergrid.persistence.graph.serialization.EdgeSerialization; import org.apache.usergrid.persistence.index.utils.UUIDUtils; import org.apache.usergrid.persistence.model.entity.*; import org.apache.usergrid.persistence.schema.CollectionInfo; @@ -189,6 +196,9 @@ public class CollectionIterator extends ToolBase { CollectionService collectionService = injector.getInstance(CollectionService.class); String collectionName = InflectionUtils.pluralize(entityType); + ApplicationScope applicationScope = new ApplicationScopeImpl(new SimpleId(app, "application")); + EdgeSerialization edgeSerialization = injector.getInstance(EdgeSerialization.class); + Query query = new Query(); query.setCollection(collectionName); query.setLimit(1000); @@ -240,7 +250,10 @@ public class CollectionIterator extends ToolBase { if (removeOrphans && timestamp >= earliestTimestamp && timestamp <= latestTimestamp) { logger.info("{} - {} - entity data NOT found, REMOVING", uuid, dateString); try { - em.removeFromCollection(headEntity, collectionName, entityRef ); + //em.removeItemFromCollection(headEntity, collectionName, entityRef ); + Edge edge = new SimpleEdge(applicationScope.getApplication(), entityType, entityRef.asId(), timestamp); + MarkedEdge markedEdge = new SimpleMarkedEdge(edge, true); + edgeSerialization.deleteEdge(applicationScope, markedEdge, uuid).execute(); } catch (Exception e) { logger.error("{} - exception while trying to remove orphaned connection, {}", uuid, e.getMessage()); }
