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());
                             }

Reply via email to