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/26 18:29:41 UTC
usergrid git commit: Ensure that bootstrap is not resetting versions
and let each migration module be handled separately and versions set
backwards manually.
Repository: usergrid
Updated Branches:
refs/heads/release-2.1.1 2d1110250 -> f69e4f6ff
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/release-2.1.1
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");
}