You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by mr...@apache.org on 2016/02/27 01:33:11 UTC

[2/5] usergrid git commit: Ensure that bootstrap is not resetting versions and let each migration module be handled separately and versions set backwards manually.

Ensure that bootstrap is not resetting versions and let each migration module be handled separately and versions set backwards manually.


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

Branch: refs/heads/master
Commit: f69e4f6ff16527b9fea4f03f934417d0a6b6a3a7
Parents: 2d11102
Author: Michael Russo <mr...@apigee.com>
Authored: Fri Feb 26 09:29:01 2016 -0800
Committer: Michael Russo <mr...@apigee.com>
Committed: Fri Feb 26 09:29:01 2016 -0800

----------------------------------------------------------------------
 .../usergrid/corepersistence/CoreModule.java    |   2 -
 .../corepersistence/CpEntityManager.java        |  11 -
 .../migration/MigrationModuleVersionPlugin.java | 137 ----------
 .../MigrationModuleVersionPluginTest.java       | 259 -------------------
 .../applications/ApplicationResource.java       |   8 -
 5 files changed, 417 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/f69e4f6f/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 e2d845f..5ac7faf 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
@@ -40,7 +40,6 @@ import org.apache.usergrid.corepersistence.index.ReIndexServiceImpl;
 import org.apache.usergrid.corepersistence.migration.CoreMigration;
 import org.apache.usergrid.corepersistence.migration.CoreMigrationPlugin;
 import org.apache.usergrid.corepersistence.migration.DeDupConnectionDataMigration;
-import org.apache.usergrid.corepersistence.migration.MigrationModuleVersionPlugin;
 import org.apache.usergrid.corepersistence.pipeline.PipelineModule;
 import org.apache.usergrid.corepersistence.rx.impl.AllApplicationsObservable;
 import org.apache.usergrid.corepersistence.rx.impl.AllApplicationsObservableImpl;
@@ -144,7 +143,6 @@ public class CoreModule extends AbstractModule {
         //wire up the collection migration plugin
         final Multibinder<MigrationPlugin> plugins = Multibinder.newSetBinder( binder(), MigrationPlugin.class );
         plugins.addBinding().to( CoreMigrationPlugin.class );
-        plugins.addBinding().to( MigrationModuleVersionPlugin.class );
 
         bind( AllApplicationsObservable.class ).to( AllApplicationsObservableImpl.class );
         bind( AllEntityIdsObservable.class ).to( AllEntityIdsObservableImpl.class );

http://git-wip-us.apache.org/repos/asf/usergrid/blob/f69e4f6f/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
index 2cf8da6..3dbdb7d 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
@@ -747,17 +747,6 @@ public class CpEntityManager implements EntityManager {
 
         Set<String> existingCollections = getRelationManager( getApplication() ).getCollections();
 
-        //Handles reading custom collections.
-//        Set<String> dynamic_collections = cast( getDictionaryAsSet( getApplicationRef(), Schema.DICTIONARY_COLLECTIONS ) );
-//        if ( dynamic_collections != null ) {
-//            for ( String collection : dynamic_collections ) {
-//                if ( !Schema.isAssociatedEntityType( collection ) ) {
-//                    if(!existingCollections.contains( collection )) {
-//                        existingCollections.add( collection );
-//                    }
-//                }
-//            }
-//        }
         Set<String> system_collections = Schema.getDefaultSchema().getCollectionNames( Application.ENTITY_TYPE );
         if ( system_collections != null ) {
             for ( String collection : system_collections ) {

http://git-wip-us.apache.org/repos/asf/usergrid/blob/f69e4f6f/stack/core/src/main/java/org/apache/usergrid/corepersistence/migration/MigrationModuleVersionPlugin.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/migration/MigrationModuleVersionPlugin.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/migration/MigrationModuleVersionPlugin.java
deleted file mode 100644
index 145e76f..0000000
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/migration/MigrationModuleVersionPlugin.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  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.
- */
-
-package org.apache.usergrid.corepersistence.migration;
-
-
-import org.apache.usergrid.persistence.collection.serialization.impl.MvccEntitySerializationStrategyV2Impl;
-import org.apache.usergrid.persistence.collection.serialization.impl.migration.CollectionMigrationPlugin;
-import org.apache.usergrid.persistence.core.migration.data.MigrationInfoSerialization;
-import org.apache.usergrid.persistence.core.migration.data.MigrationPlugin;
-import org.apache.usergrid.persistence.core.migration.data.PluginPhase;
-import org.apache.usergrid.persistence.core.migration.data.ProgressObserver;
-import org.apache.usergrid.persistence.graph.serialization.impl.EdgeMetadataSerializationV2Impl;
-import org.apache.usergrid.persistence.graph.serialization.impl.migration.GraphMigrationPlugin;
-
-import com.google.inject.Inject;
-
-
-/**
- * Migration to set our module versions now that we've refactor for sub modules Keeps the EntityIdScope because it won't
- * subscribe to the data provider.
- */
-public class MigrationModuleVersionPlugin implements MigrationPlugin{
-
-    public static final String NAME = "migration-system";
-
-    private static final int INITIAL = 0;
-    /**
-     * The migration from 0 -> 1 that re-writes all the entity id's into the map module
-     */
-    private static final int ID_MIGRATION = 1;
-
-    /**
-     * The migration from 1-> 2 that shards our edge meta data
-     */
-    private static final int EDGE_SHARD_MIGRATION = 2;
-
-    /**
-     * The migration from 2-> 3 that fixed the short truncation bug
-     */
-    private static final int ENTITY_V2_MIGRATION = 3;
-
-
-    /**
-     * Get versions directly from impls so we know they're accurate
-     */
-    private final MigrationInfoSerialization migrationInfoSerialization;
-
-    private final MvccEntitySerializationStrategyV2Impl serializationStrategyV2;
-
-    private final EdgeMetadataSerializationV2Impl edgeMetadataSerializationV2;
-
-
-    @Inject
-    public MigrationModuleVersionPlugin( final MigrationInfoSerialization migrationInfoSerialization,
-                                         final MvccEntitySerializationStrategyV2Impl serializationStrategyV2,
-                                         final EdgeMetadataSerializationV2Impl edgeMetadataSerializationV2 ) {
-        this.migrationInfoSerialization = migrationInfoSerialization;
-        this.serializationStrategyV2 = serializationStrategyV2;
-        this.edgeMetadataSerializationV2 = edgeMetadataSerializationV2;
-    }
-
-    @Override
-      public void run( final ProgressObserver observer ) {
-
-
-        observer.start();
-
-        //we ignore our current version, since it will always be 0
-        final int legacyVersion = migrationInfoSerialization.getSystemVersion();
-
-
-
-        //now we store versions for each of our modules
-
-        switch ( legacyVersion ) {
-
-            //we need to set the version of the entity data, and our edge shard migration.  The fall through (no break) is deliberate
-            //if it's entity v2, set all, it's current
-            case ENTITY_V2_MIGRATION:
-               migrationInfoSerialization.setVersion(
-                   CollectionMigrationPlugin.PLUGIN_NAME, serializationStrategyV2.getImplementationVersion() );
-
-            //if it's edge shard, we need to run the v2 migration
-            case EDGE_SHARD_MIGRATION:
-                //set our shard migration to the migrated version
-                migrationInfoSerialization.setVersion(
-                    GraphMigrationPlugin.PLUGIN_NAME, edgeMetadataSerializationV2.getImplementationVersion() );
-
-            case ID_MIGRATION:
-                migrationInfoSerialization.setVersion(
-                    CoreMigrationPlugin.PLUGIN_NAME, CoreDataVersions.ID_MAP_FIX.getVersion() );
-        }
-
-        //save the version
-        migrationInfoSerialization.setVersion( NAME, getMaxVersion() );
-
-        observer.complete();
-      }
-
-
-
-    @Override
-    public String getName() {
-        return NAME;
-    }
-
-
-
-
-    @Override
-    public int getMaxVersion() {
-        return MigrationSystemVersions.LEGACY_ID_MAPPED.getVersion();
-    }
-
-
-    @Override
-    public PluginPhase getPhase() {
-        return PluginPhase.BOOTSTRAP;
-    }
-}

http://git-wip-us.apache.org/repos/asf/usergrid/blob/f69e4f6f/stack/core/src/test/java/org/apache/usergrid/corepersistence/migration/MigrationModuleVersionPluginTest.java
----------------------------------------------------------------------
diff --git a/stack/core/src/test/java/org/apache/usergrid/corepersistence/migration/MigrationModuleVersionPluginTest.java b/stack/core/src/test/java/org/apache/usergrid/corepersistence/migration/MigrationModuleVersionPluginTest.java
deleted file mode 100644
index 339e6cf..0000000
--- a/stack/core/src/test/java/org/apache/usergrid/corepersistence/migration/MigrationModuleVersionPluginTest.java
+++ /dev/null
@@ -1,259 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  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.
- */
-
-package org.apache.usergrid.corepersistence.migration;
-
-
-import org.junit.Test;
-
-import org.apache.usergrid.persistence.collection.serialization.MvccEntitySerializationStrategy;
-import org.apache.usergrid.persistence.collection.serialization.impl.MvccEntitySerializationStrategyV2Impl;
-import org.apache.usergrid.persistence.collection.serialization.impl.migration.CollectionMigrationPlugin;
-import org.apache.usergrid.persistence.core.migration.data.MigrationInfoSerialization;
-import org.apache.usergrid.persistence.core.migration.data.TestProgressObserver;
-import org.apache.usergrid.persistence.graph.serialization.EdgeMetadataSerialization;
-import org.apache.usergrid.persistence.graph.serialization.impl.EdgeMetadataSerializationV2Impl;
-import org.apache.usergrid.persistence.graph.serialization.impl.migration.GraphMigrationPlugin;
-
-import com.google.inject.Inject;
-
-import static org.junit.Assert.*;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-
-/**
- * Tests the system sets itself up as wxpected
- */
-public class MigrationModuleVersionPluginTest {
-
-
-    @Test
-    public void testNewSystem(){
-
-        //mock up an initial system state
-        final int systemState = 3;
-
-        final MigrationInfoSerialization migrationInfoSerialization = mock(MigrationInfoSerialization.class);
-
-        when(migrationInfoSerialization.getSystemVersion()).thenReturn( systemState );
-
-
-
-
-        final int mvccVersion = 2;
-
-        final MvccEntitySerializationStrategyV2Impl serializationStrategyV2 = mock(MvccEntitySerializationStrategyV2Impl.class);
-        when(serializationStrategyV2.getImplementationVersion()).thenReturn( mvccVersion );
-
-
-        final int edgeMetaVersion = 1;
-
-        final EdgeMetadataSerializationV2Impl edgeMetadataSerializationV2 = mock(EdgeMetadataSerializationV2Impl.class);
-        when(edgeMetadataSerializationV2.getImplementationVersion()).thenReturn(edgeMetaVersion);
-
-
-        final MigrationModuleVersionPlugin plugin = new MigrationModuleVersionPlugin(migrationInfoSerialization, serializationStrategyV2,  edgeMetadataSerializationV2 );
-
-        final TestProgressObserver testProgressObserver = new TestProgressObserver();
-
-        plugin.run( testProgressObserver );
-
-
-
-        //first version that should be set
-        verify(migrationInfoSerialization).setVersion( CoreMigrationPlugin.PLUGIN_NAME, CoreDataVersions.ID_MAP_FIX.getVersion() );
-
-        //second version that should be set
-
-        verify(migrationInfoSerialization).setVersion( GraphMigrationPlugin.PLUGIN_NAME, edgeMetaVersion );
-
-        //last version that should be set
-        verify(migrationInfoSerialization).setVersion( CollectionMigrationPlugin.PLUGIN_NAME, mvccVersion );
-
-
-        //set this plugin as run
-        verify(migrationInfoSerialization).setVersion( MigrationModuleVersionPlugin.NAME, MigrationSystemVersions.LEGACY_ID_MAPPED.getVersion() );
-
-
-
-    }
-
-
-
-    @Test
-    public void testIdMapping(){
-
-           //mock up an initial system state
-        final int systemState = 1;
-
-        final MigrationInfoSerialization migrationInfoSerialization = mock(MigrationInfoSerialization.class);
-
-        when(migrationInfoSerialization.getSystemVersion()).thenReturn( systemState );
-
-
-
-
-        final int mvccVersion = 2;
-
-        final MvccEntitySerializationStrategyV2Impl serializationStrategyV2 = mock(MvccEntitySerializationStrategyV2Impl.class);
-        when(serializationStrategyV2.getImplementationVersion()).thenReturn( mvccVersion );
-
-
-        final int edgeMetaVersion = 1;
-
-        final EdgeMetadataSerializationV2Impl edgeMetadataSerializationV2 = mock(EdgeMetadataSerializationV2Impl.class);
-        when(edgeMetadataSerializationV2.getImplementationVersion()).thenReturn(edgeMetaVersion);
-
-
-        final MigrationModuleVersionPlugin plugin = new MigrationModuleVersionPlugin(migrationInfoSerialization, serializationStrategyV2,  edgeMetadataSerializationV2 );
-
-        final TestProgressObserver testProgressObserver = new TestProgressObserver();
-
-        plugin.run( testProgressObserver );
-
-
-        //first version that should be set
-        verify(migrationInfoSerialization).setVersion( CoreMigrationPlugin.PLUGIN_NAME, CoreDataVersions.ID_MAP_FIX.getVersion() );
-
-        //second version that should be set
-
-        verify(migrationInfoSerialization, never()).setVersion( GraphMigrationPlugin.PLUGIN_NAME, edgeMetaVersion );
-
-        //last version that should be set
-        verify(migrationInfoSerialization, never()).setVersion( CollectionMigrationPlugin.PLUGIN_NAME, mvccVersion );
-
-
-        //set this plugin as run
-        verify(migrationInfoSerialization).setVersion( MigrationModuleVersionPlugin.NAME, MigrationSystemVersions.LEGACY_ID_MAPPED.getVersion() );
-
-
-
-
-    }
-
-
-    @Test
-    public void testEdgeMigration(){
-
-           //mock up an initial system state
-        final int systemState = 2;
-
-        final MigrationInfoSerialization migrationInfoSerialization = mock(MigrationInfoSerialization.class);
-
-        when(migrationInfoSerialization.getSystemVersion()).thenReturn( systemState );
-
-
-
-
-        final int mvccVersion = 2;
-
-        final MvccEntitySerializationStrategyV2Impl serializationStrategyV2 = mock(MvccEntitySerializationStrategyV2Impl.class);
-        when(serializationStrategyV2.getImplementationVersion()).thenReturn( mvccVersion );
-
-
-        final int edgeMetaVersion = 1;
-
-        final EdgeMetadataSerializationV2Impl edgeMetadataSerializationV2 = mock(EdgeMetadataSerializationV2Impl.class);
-        when(edgeMetadataSerializationV2.getImplementationVersion()).thenReturn(edgeMetaVersion);
-
-
-        final MigrationModuleVersionPlugin plugin = new MigrationModuleVersionPlugin(migrationInfoSerialization, serializationStrategyV2,  edgeMetadataSerializationV2 );
-
-        final TestProgressObserver testProgressObserver = new TestProgressObserver();
-
-        plugin.run( testProgressObserver );
-
-
-        //first version that should be set
-        verify(migrationInfoSerialization).setVersion( CoreMigrationPlugin.PLUGIN_NAME, CoreDataVersions.ID_MAP_FIX.getVersion() );
-
-        //second version that should be set
-
-        verify(migrationInfoSerialization).setVersion( GraphMigrationPlugin.PLUGIN_NAME, edgeMetaVersion );
-
-        //last version that should be set
-        verify(migrationInfoSerialization, never()).setVersion( CollectionMigrationPlugin.PLUGIN_NAME, mvccVersion );
-
-
-        //set this plugin as run
-        verify(migrationInfoSerialization).setVersion( MigrationModuleVersionPlugin.NAME, MigrationSystemVersions.LEGACY_ID_MAPPED.getVersion() );
-
-
-
-
-    }
-
-
-
-
-    @Test
-    public void testEntityV2Migration(){
-
-           //mock up an initial system state
-        final int systemState = 3;
-
-        final MigrationInfoSerialization migrationInfoSerialization = mock(MigrationInfoSerialization.class);
-
-        when(migrationInfoSerialization.getSystemVersion()).thenReturn( systemState );
-
-
-
-
-        final int mvccVersion = 2;
-
-        final MvccEntitySerializationStrategyV2Impl serializationStrategyV2 = mock(MvccEntitySerializationStrategyV2Impl.class);
-        when(serializationStrategyV2.getImplementationVersion()).thenReturn( mvccVersion );
-
-
-        final int edgeMetaVersion = 1;
-
-        final EdgeMetadataSerializationV2Impl edgeMetadataSerializationV2 = mock(EdgeMetadataSerializationV2Impl.class);
-        when(edgeMetadataSerializationV2.getImplementationVersion()).thenReturn(edgeMetaVersion);
-
-
-        final MigrationModuleVersionPlugin plugin = new MigrationModuleVersionPlugin(migrationInfoSerialization, serializationStrategyV2,  edgeMetadataSerializationV2 );
-
-        final TestProgressObserver testProgressObserver = new TestProgressObserver();
-
-        plugin.run( testProgressObserver );
-
-
-        //first version that should be set
-        verify(migrationInfoSerialization).setVersion( CoreMigrationPlugin.PLUGIN_NAME, CoreDataVersions.ID_MAP_FIX.getVersion() );
-
-        //second version that should be set
-
-        verify(migrationInfoSerialization).setVersion( GraphMigrationPlugin.PLUGIN_NAME, edgeMetaVersion );
-
-        //last version that should be set
-        verify(migrationInfoSerialization).setVersion( CollectionMigrationPlugin.PLUGIN_NAME, mvccVersion );
-
-
-        //set this plugin as run
-        verify(migrationInfoSerialization).setVersion( MigrationModuleVersionPlugin.NAME, MigrationSystemVersions.LEGACY_ID_MAPPED.getVersion() );
-
-
-
-
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/usergrid/blob/f69e4f6f/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationResource.java
index 61a7e0a..c353959 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationResource.java
@@ -496,14 +496,6 @@ public class ApplicationResource extends AbstractContextResource {
                 "Cannot delete application without supplying correct application name");
         }
 
-//        Properties props = management.getProperties();
-//
-//         //for now, only works in test mode
-//        String testProp = ( String ) props.get( "usergrid.test" );
-//        if ( testProp == null || !Boolean.parseBoolean( testProp ) ) {
-//            throw new UnsupportedRestOperationException("Test props not not functioning correctly.");
-//        }
-
         if ( applicationId == null ) {
             throw new IllegalArgumentException("Application ID not specified in request");
         }