You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sn...@apache.org on 2015/09/22 17:15:57 UTC

[11/25] usergrid git commit: remove delete index directly from cp

remove delete index directly from cp


Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/ad2b8253
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/ad2b8253
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/ad2b8253

Branch: refs/heads/usergrid-1007-shiro-cache
Commit: ad2b8253bfc7d5cddef0be3cdea2c8ce0b06c71c
Parents: 34e0e63
Author: Shawn Feldman <sf...@apache.org>
Authored: Wed Sep 16 10:24:55 2015 -0600
Committer: Shawn Feldman <sf...@apache.org>
Committed: Wed Sep 16 10:24:55 2015 -0600

----------------------------------------------------------------------
 .../corepersistence/CpRelationManager.java      |  9 +----
 .../asyncevents/EventBuilderImpl.java           | 40 +++++++++++---------
 .../collection/groups/GroupResourceIT.java      |  1 +
 3 files changed, 24 insertions(+), 26 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/ad2b8253/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java
index cef0646..a4fe400 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java
@@ -520,8 +520,7 @@ public class CpRelationManager implements RelationManager {
         //run our delete
         gm.loadEdgeVersions(
             CpNamingUtils.createEdgeFromCollectionName( cpHeadEntity.getId(), collectionName, memberEntity.getId() ) )
-          .flatMap( edge -> gm.markEdge( edge ) ).flatMap( edge -> gm.deleteEdge( edge ) ).toBlocking()
-          .lastOrDefault( null );
+          .flatMap( edge -> gm.markEdge( edge ) ).flatMap( edge -> gm.deleteEdge( edge ) ).subscribe();
 
 
         /**
@@ -529,13 +528,7 @@ public class CpRelationManager implements RelationManager {
          *
          */
 
-        final EntityIndex ei = managerCache.getEntityIndex( applicationScope );
-
-        // remove item from collection index
-        SearchEdge indexScope = createCollectionSearchEdge( cpHeadEntity.getId(), collectionName );
 
-        final EntityIndexBatch batch = ei.createBatch();
-        batch.deindex( indexScope, memberEntity );
         //TODO: this should not happen here, needs to go to  SQS
         //indexProducer.put(batch).subscribe();
         indexService.queueEntityDelete(applicationScope,memberEntity.getId());

http://git-wip-us.apache.org/repos/asf/usergrid/blob/ad2b8253/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/EventBuilderImpl.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/EventBuilderImpl.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/EventBuilderImpl.java
index 620bea8..8744889 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/EventBuilderImpl.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/EventBuilderImpl.java
@@ -142,25 +142,29 @@ public class EventBuilderImpl implements EventBuilder {
         //If there is nothing marked then we shouldn't return any results.
         //TODO: evaluate if we want to return null or return empty observable when we don't have any results marked as deleted.
         if(mostRecentlyMarked == null) {
-            Observable<IndexOperationMessage> messageObservable = indexService.deleteEntityIndexes(applicationScope, entityId, UUIDUtils.MAX_TIME_UUID);
-            return new EntityDeleteResults(messageObservable, Observable.<List<MvccLogEntry>>empty());
+            Observable<IndexOperationMessage> messageObservable = indexService.deleteEntityIndexes(applicationScope, entityId, UUIDUtils.newTimeUUID());
+            final Observable<List<MvccLogEntry>> entries =
+                ecm.getVersions( entityId ).buffer( serializationFig.getBufferSize() )
+                    .doOnNext( buffer -> ecm.delete( buffer ) ).doOnCompleted(() -> gm.compactNode(entityId));
+            return new EntityDeleteResults(messageObservable, entries);
+        }else {
+            //observable of index operation messages
+            //this method will need the most recent version.
+            //When we go to compact the graph make sure you turn on the debugging mode for the deleted nodes so
+            //we can verify that we mark them. That said that part seems kinda done. as we also delete the mvcc buffers.
+            final Observable<IndexOperationMessage> edgeObservable =
+                indexService.deleteEntityIndexes(applicationScope, entityId, mostRecentlyMarked.getVersion());
+
+
+            //TODO: not sure what we need the list of versions here when we search for the mark above
+            //observable of entries as the batches are deleted
+            final Observable<List<MvccLogEntry>> entries =
+                ecm.getVersions(entityId).buffer(serializationFig.getBufferSize())
+                    .doOnNext(buffer -> ecm.delete(buffer)).doOnCompleted(() -> gm.compactNode(entityId));
+
+
+            return new EntityDeleteResults(edgeObservable, entries);
         }
-        //observable of index operation messages
-        //this method will need the most recent version.
-        //When we go to compact the graph make sure you turn on the debugging mode for the deleted nodes so
-        //we can verify that we mark them. That said that part seems kinda done. as we also delete the mvcc buffers.
-        final Observable<IndexOperationMessage> edgeObservable =
-            indexService.deleteEntityIndexes( applicationScope, entityId, mostRecentlyMarked.getVersion() );
-
-
-        //TODO: not sure what we need the list of versions here when we search for the mark above
-        //observable of entries as the batches are deleted
-        final Observable<List<MvccLogEntry>> entries =
-            ecm.getVersions( entityId ).buffer( serializationFig.getBufferSize() )
-               .doOnNext( buffer -> ecm.delete( buffer ) ).doOnCompleted( () -> gm.compactNode( entityId ) );
-
-
-        return new EntityDeleteResults( edgeObservable, entries );
     }
 
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/ad2b8253/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/groups/GroupResourceIT.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/groups/GroupResourceIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/groups/GroupResourceIT.java
index a52792a..bcf0962 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/groups/GroupResourceIT.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/groups/GroupResourceIT.java
@@ -297,6 +297,7 @@ public class GroupResourceIT extends AbstractRestIT {
 
         //8. delete the role
         this.app().collection("role").entity(role).delete();
+        this.refreshIndex();
 
         //9. do a GET to make sure the role was deleted
         try {