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 {