You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sf...@apache.org on 2015/05/11 19:37:24 UTC

[10/14] incubator-usergrid git commit: Removes obscelete events.

Removes obscelete events.


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

Branch: refs/heads/USERGRID-641
Commit: 2e5937b03df7be48a0c02a277d0c03e1b9908acc
Parents: d0bde18
Author: Todd Nine <tn...@apigee.com>
Authored: Sun May 10 05:10:58 2015 -0600
Committer: Todd Nine <tn...@apigee.com>
Committed: Sun May 10 05:10:58 2015 -0600

----------------------------------------------------------------------
 .../usergrid/corepersistence/CoreModule.java    |  22 +--
 .../events/EntityDeletedHandler.java            |  81 -----------
 .../events/EntityVersionCreatedHandler.java     |  83 -----------
 .../events/EntityVersionDeletedHandler.java     | 142 -------------------
 4 files changed, 2 insertions(+), 326 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2e5937b0/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java
index d7038cd..f1e1596 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java
@@ -18,14 +18,11 @@ package org.apache.usergrid.corepersistence;
 
 import org.safehaus.guicyfig.GuicyFigModule;
 
-import org.apache.usergrid.corepersistence.events.EntityDeletedHandler;
-import org.apache.usergrid.corepersistence.events.EntityVersionCreatedHandler;
-import org.apache.usergrid.corepersistence.events.EntityVersionDeletedHandler;
-import org.apache.usergrid.corepersistence.asyncevents.AsyncIndexProvider;
 import org.apache.usergrid.corepersistence.asyncevents.AsyncEventService;
+import org.apache.usergrid.corepersistence.asyncevents.AsyncIndexProvider;
+import org.apache.usergrid.corepersistence.index.IndexProcessorFig;
 import org.apache.usergrid.corepersistence.index.IndexService;
 import org.apache.usergrid.corepersistence.index.IndexServiceImpl;
-import org.apache.usergrid.corepersistence.index.IndexProcessorFig;
 import org.apache.usergrid.corepersistence.migration.AppInfoMigrationPlugin;
 import org.apache.usergrid.corepersistence.migration.CoreMigration;
 import org.apache.usergrid.corepersistence.migration.CoreMigrationPlugin;
@@ -38,9 +35,6 @@ import org.apache.usergrid.corepersistence.rx.impl.AllEntitiesInSystemImpl;
 import org.apache.usergrid.corepersistence.rx.impl.AllEntityIdsObservable;
 import org.apache.usergrid.corepersistence.rx.impl.AllEntityIdsObservableImpl;
 import org.apache.usergrid.corepersistence.rx.impl.AllNodesInGraphImpl;
-import org.apache.usergrid.persistence.collection.event.EntityDeleted;
-import org.apache.usergrid.persistence.collection.event.EntityVersionCreated;
-import org.apache.usergrid.persistence.collection.event.EntityVersionDeleted;
 import org.apache.usergrid.persistence.collection.guice.CollectionModule;
 import org.apache.usergrid.persistence.collection.serialization.impl.migration.EntityIdScope;
 import org.apache.usergrid.persistence.core.guice.CommonModule;
@@ -111,18 +105,6 @@ public class CoreModule  extends AbstractModule {
         bind(ManagerCache.class).to( CpManagerCache.class );
         bind(ApplicationIdCacheFactory.class);
 
-        Multibinder<EntityDeleted> entityBinder =
-            Multibinder.newSetBinder(binder(), EntityDeleted.class);
-        entityBinder.addBinding().to(EntityDeletedHandler.class);
-
-        Multibinder<EntityVersionDeleted> versionBinder =
-            Multibinder.newSetBinder(binder(), EntityVersionDeleted.class);
-        versionBinder.addBinding().to(EntityVersionDeletedHandler.class);
-
-        Multibinder<EntityVersionCreated> versionCreatedMultibinder =
-            Multibinder.newSetBinder( binder(), EntityVersionCreated.class );
-        versionCreatedMultibinder.addBinding().to(EntityVersionCreatedHandler.class);
-
 
         /**
          * Create our migrations for within our core plugin

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2e5937b0/stack/core/src/main/java/org/apache/usergrid/corepersistence/events/EntityDeletedHandler.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/events/EntityDeletedHandler.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/events/EntityDeletedHandler.java
deleted file mode 100644
index 2de69ed..0000000
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/events/EntityDeletedHandler.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  The ASF licenses this file to You
- * under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.  For additional information regarding
- * copyright in this work, please see the NOTICE file in the top level
- * directory of this distribution.
- */
-package org.apache.usergrid.corepersistence.events;
-
-
-import java.util.UUID;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.usergrid.persistence.EntityManagerFactory;
-import org.apache.usergrid.persistence.collection.event.EntityDeleted;
-import org.apache.usergrid.persistence.core.scope.ApplicationScope;
-import org.apache.usergrid.persistence.model.entity.Id;
-
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-
-import static org.apache.usergrid.corepersistence.CoreModule.EVENTS_DISABLED;
-
-
-/**
- * Delete all Query Index indexes associated with an Entity that has just been deleted.
- */
-@Singleton
-public class EntityDeletedHandler implements EntityDeleted {
-    private static final Logger logger = LoggerFactory.getLogger( EntityDeletedHandler.class );
-
-
-    @Inject
-    public EntityDeletedHandler( ) {}
-
-
-    @Override
-    public void deleted( ApplicationScope scope, Id entityId, UUID version ) {
-
-        // This check is for testing purposes and for a test that to be able to dynamically turn
-        // off and on delete previous versions so that it can test clean-up on read.
-        if ( System.getProperty( EVENTS_DISABLED, "false" ).equals( "true" ) ) {
-            return;
-        }
-
-//        This is a NO-OP now, it's handled by the EntityVersionDeletedHandler
-
-//
-//        if(logger.isDebugEnabled()) {
-//            logger.debug(
-//                "Handling deleted event for entity {}:{} v {} " + " app: {}",
-//                new Object[] {
-//                    entityId.getType(), entityId.getUuid(), version,
-//                    scope.getApplication()
-//                } );
-//        }
-//
-//        CpEntityManagerFactory cpemf = ( CpEntityManagerFactory ) emf;
-//        final ApplicationEntityIndex ei = cpemf.getManagerCache().getEntityIndex( scope );
-
-//        throw new NotImplementedException( "Fix this" );
-
-        //read all edges to this node and de-index them
-
-
-
-//        ei.createBatch().deindex( indexScope, entityId, version ).execute();
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2e5937b0/stack/core/src/main/java/org/apache/usergrid/corepersistence/events/EntityVersionCreatedHandler.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/events/EntityVersionCreatedHandler.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/events/EntityVersionCreatedHandler.java
deleted file mode 100644
index 20bdd55..0000000
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/events/EntityVersionCreatedHandler.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  The ASF licenses this file to You
- * under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.  For additional information regarding
- * copyright in this work, please see the NOTICE file in the top level
- * directory of this distribution.
- */
-package org.apache.usergrid.corepersistence.events;
-
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.usergrid.persistence.EntityManagerFactory;
-import org.apache.usergrid.persistence.collection.EntityCollectionManagerFactory;
-import org.apache.usergrid.persistence.collection.event.EntityVersionCreated;
-import org.apache.usergrid.persistence.core.scope.ApplicationScope;
-import org.apache.usergrid.persistence.model.entity.Entity;
-
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-
-
-/**
- * Clean up stale entity indexes when new version of Entity created. Called when an Entity is
- * updated by the Collections module and we react by calling the Query Index module and removing
- * any indexes that exist for previous versions of the the Entity.
- */
-@Singleton
-public class EntityVersionCreatedHandler implements EntityVersionCreated {
-    private static final Logger logger = LoggerFactory.getLogger(EntityVersionCreatedHandler.class );
-
-
-
-
-    @Inject
-    public EntityVersionCreatedHandler(  ) {
-
-    }
-
-
-    @Override
-    public void versionCreated( final ApplicationScope scope, final Entity entity ) {
-        //not op, we're not migrating properly to this.  Make this an event At the moment this is happening on write
-
-//        // This check is for testing purposes and for a test that to be able to dynamically turn
-//        // off and on delete previous versions so that it can test clean-up on read.
-//        if ( System.getProperty( EVENTS_DISABLED, "false" ).equals( "true" )) {
-//            return;
-//        }
-//
-//        logger.debug("Handling versionCreated for entity {}:{} v {} "
-//            + "scope\n   name: {}\n   owner: {}\n   app: {}",
-//            new Object[] {
-//                entity.getId().getType(),
-//                entity.getId().getUuid(),
-//                entity.getVersion(),
-//                scope.getName(),
-//                scope.getOwner(),
-//                scope.getApplication()});
-//
-//        CpEntityManagerFactory cpemf = (CpEntityManagerFactory)emf;
-//        final EntityIndex ei = cpemf.getManagerCache().getEntityIndex(scope);
-//
-//
-//
-//
-//
-//
-
-//        ei.deletePreviousVersions( entity.getId(), entity.getVersion() );
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2e5937b0/stack/core/src/main/java/org/apache/usergrid/corepersistence/events/EntityVersionDeletedHandler.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/events/EntityVersionDeletedHandler.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/events/EntityVersionDeletedHandler.java
deleted file mode 100644
index 0e12e85..0000000
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/events/EntityVersionDeletedHandler.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  The ASF licenses this file to You
- * under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.  For additional information regarding
- * copyright in this work, please see the NOTICE file in the top level
- * directory of this distribution.
- */
-package org.apache.usergrid.corepersistence.events;
-
-
-import java.util.List;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.usergrid.persistence.collection.MvccLogEntry;
-import org.apache.usergrid.persistence.collection.event.EntityVersionDeleted;
-import org.apache.usergrid.persistence.collection.serialization.SerializationFig;
-import org.apache.usergrid.persistence.core.scope.ApplicationScope;
-import org.apache.usergrid.persistence.graph.GraphManager;
-import org.apache.usergrid.persistence.graph.GraphManagerFactory;
-import org.apache.usergrid.persistence.graph.serialization.EdgesObservable;
-import org.apache.usergrid.persistence.index.ApplicationEntityIndex;
-import org.apache.usergrid.persistence.index.EntityIndexBatch;
-import org.apache.usergrid.persistence.index.EntityIndexFactory;
-import org.apache.usergrid.persistence.index.IndexEdge;
-import org.apache.usergrid.persistence.model.entity.Id;
-
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-
-import rx.Observable;
-
-import static org.apache.usergrid.corepersistence.CoreModule.EVENTS_DISABLED;
-import static org.apache.usergrid.corepersistence.util.CpNamingUtils.generateScopeFromSource;
-import static org.apache.usergrid.corepersistence.util.CpNamingUtils.generateScopeFromTarget;
-
-
-/**
- * Remove Entity index when specific version of Entity is deleted. TODO: do we need this? Don't our version-created and
- * entity-deleted handlers take care of this? If we do need it then it should be wired in via GuiceModule in the
- * corepersistence package.
- */
-@Singleton
-public class EntityVersionDeletedHandler implements EntityVersionDeleted {
-    private static final Logger logger = LoggerFactory.getLogger( EntityVersionDeletedHandler.class );
-
-
-    private final EdgesObservable edgesObservable;
-    private final SerializationFig serializationFig;
-    private final EntityIndexFactory entityIndexFactory;
-    private final GraphManagerFactory graphManagerFactory;
-
-
-    @Inject
-    public EntityVersionDeletedHandler( final EdgesObservable edgesObservable, final SerializationFig serializationFig,
-                                        final EntityIndexFactory entityIndexFactory,
-                                        final GraphManagerFactory graphManagerFactory ) {
-        this.edgesObservable = edgesObservable;
-        this.serializationFig = serializationFig;
-        this.entityIndexFactory = entityIndexFactory;
-        this.graphManagerFactory = graphManagerFactory;
-    }
-
-
-    @Override
-    public void versionDeleted( final ApplicationScope scope, final Id entityId,
-                                final List<MvccLogEntry> entityVersions ) {
-
-
-        // This check is for testing purposes and for a test that to be able to dynamically turn
-        // off and on delete previous versions so that it can test clean-up on read.
-        if ( System.getProperty( EVENTS_DISABLED, "false" ).equals( "true" ) ) {
-            return;
-        }
-
-        if ( logger.isDebugEnabled() ) {
-            logger.debug( "Handling versionDeleted count={} event for entity {}:{} v {} " + "  app: {}", new Object[] {
-                entityVersions.size(), entityId.getType(), entityId.getUuid(), scope.getApplication()
-            } );
-        }
-
-        final ApplicationEntityIndex ei = entityIndexFactory.createApplicationEntityIndex( scope );
-        final GraphManager gm = graphManagerFactory.createEdgeManager(  scope );
-
-
-        //create an observable of all scopes to deIndex
-        //remove all indexes pointing to this
-        final Observable<IndexEdge> targetScopes =  edgesObservable.edgesToTarget( gm, entityId ).map(
-            edge -> generateScopeFromSource( edge) );
-
-
-        //Remove all double indexes
-        final Observable<IndexEdge> sourceScopes = edgesObservable.edgesFromSourceAscending( gm, entityId ).map(
-                    edge -> generateScopeFromTarget( edge ) );
-
-
-        //create a stream of scopes
-        final Observable<IndexScopeVersion> versions = Observable.merge( targetScopes, sourceScopes ).flatMap(
-            indexScope -> Observable.from( entityVersions )
-                                    .map( version -> new IndexScopeVersion( indexScope, version ) ) );
-
-        //create a set of batches
-        final Observable<EntityIndexBatch> batches = versions.buffer( serializationFig.getBufferSize() ).flatMap(
-            bufferedVersions -> Observable.from( bufferedVersions ).collect( () -> ei.createBatch(),
-                ( EntityIndexBatch batch, IndexScopeVersion version ) -> {
-                    //deindex in this batch
-                    batch.deindex( version.scope, version.version.getEntityId(), version.version.getVersion() );
-                } ) );
-
-
-
-        //execute the batches
-        batches.doOnNext( batch -> batch.execute() ).toBlocking().lastOrDefault(null);
-
-    }
-
-
-
-
-
-    private static final class IndexScopeVersion{
-        private final IndexEdge scope;
-        private final MvccLogEntry version;
-
-
-        private IndexScopeVersion( final IndexEdge scope, final MvccLogEntry version ) {
-            this.scope = scope;
-            this.version = version;
-        }
-    }
-}