Repository: usergrid Updated Branches: refs/heads/master 8587735a7 -> f49fe0a60
Add ability to force check database schema with Tables in addition to Keyspaces. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/f49fe0a6 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/f49fe0a6 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/f49fe0a6 Branch: refs/heads/master Commit: f49fe0a602849dac226941a5f59849730bd6f4b5 Parents: 8587735 Author: Michael Russo <mru...@apigee.com> Authored: Sun Nov 20 10:11:41 2016 -0800 Committer: Michael Russo <mru...@apigee.com> Committed: Sun Nov 20 10:11:41 2016 -0800 ---------------------------------------------------------------------- .../usergrid/corepersistence/CpSetup.java | 10 +++--- .../usergrid/persistence/cassandra/Setup.java | 4 +-- .../usergrid/persistence/CoreSchemaManager.java | 2 +- .../src/test/resources/usergrid-UNIT.properties | 6 ++-- .../src/test/resources/usergrid.properties | 6 ++-- .../core/migration/schema/MigrationManager.java | 4 +-- .../migration/schema/MigrationManagerImpl.java | 32 +++++++++++--------- 7 files changed, 33 insertions(+), 31 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/usergrid/blob/f49fe0a6/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpSetup.java ---------------------------------------------------------------------- diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpSetup.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpSetup.java index d7c63a3..5d50ef8 100644 --- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpSetup.java +++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpSetup.java @@ -75,13 +75,13 @@ public class CpSetup implements Setup { @Override - public void initSchema(boolean forceCheckKeyspaces) throws Exception { + public void initSchema(boolean forceCheckSchema) throws Exception { // Initialize the management app index in Elasticsearch this.emf.initializeManagementIndex(); // Create the schema (including keyspace) in Cassandra - setupSchema(forceCheckKeyspaces); + setupSchema(forceCheckSchema); setupLegacySchema(); } @@ -135,14 +135,14 @@ public class CpSetup implements Setup { /** * Initialize schema from the new 2.x Migration classes which contain schema individually * - * @param forceCheckKeyspaces + * @param forceCheckSchema */ - private void setupSchema(boolean forceCheckKeyspaces) throws Exception { + private void setupSchema(boolean forceCheckSchema) throws Exception { MigrationManager m = injector.getInstance( MigrationManager.class ); try { - m.migrate(forceCheckKeyspaces); + m.migrate(forceCheckSchema); } catch ( MigrationException ex ) { throw new RuntimeException( "Error migrating Core Persistence", ex ); http://git-wip-us.apache.org/repos/asf/usergrid/blob/f49fe0a6/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/Setup.java ---------------------------------------------------------------------- diff --git a/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/Setup.java b/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/Setup.java index c79ff7f..b415228 100644 --- a/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/Setup.java +++ b/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/Setup.java @@ -21,9 +21,9 @@ public interface Setup { /** * Initialize all configuration for the system setup. Creates keyspaces and elasticsearch indexes * @throws Exception - * @param forceCheckKeyspaces + * @param forceCheckSchema */ - void initSchema(boolean forceCheckKeyspaces) throws Exception; + void initSchema(boolean forceCheckSchema) throws Exception; /** http://git-wip-us.apache.org/repos/asf/usergrid/blob/f49fe0a6/stack/core/src/test/java/org/apache/usergrid/persistence/CoreSchemaManager.java ---------------------------------------------------------------------- diff --git a/stack/core/src/test/java/org/apache/usergrid/persistence/CoreSchemaManager.java b/stack/core/src/test/java/org/apache/usergrid/persistence/CoreSchemaManager.java index c85e2f0..5488142 100644 --- a/stack/core/src/test/java/org/apache/usergrid/persistence/CoreSchemaManager.java +++ b/stack/core/src/test/java/org/apache/usergrid/persistence/CoreSchemaManager.java @@ -53,7 +53,7 @@ public class CoreSchemaManager implements SchemaManager { @Override public void create() { try { - setup.initSchema(false); + setup.initSchema(true); lockManager.setup(); } catch ( Exception ex ) { http://git-wip-us.apache.org/repos/asf/usergrid/blob/f49fe0a6/stack/corepersistence/collection/src/test/resources/usergrid-UNIT.properties ---------------------------------------------------------------------- diff --git a/stack/corepersistence/collection/src/test/resources/usergrid-UNIT.properties b/stack/corepersistence/collection/src/test/resources/usergrid-UNIT.properties index 2237076..4b5fc6f 100644 --- a/stack/corepersistence/collection/src/test/resources/usergrid-UNIT.properties +++ b/stack/corepersistence/collection/src/test/resources/usergrid-UNIT.properties @@ -26,9 +26,9 @@ cassandra.cluster_name=Usergrid collections.keyspace=Usergrid_Collections cassandra.embedded=true -queue.num.actors=50 -queue.sender.num.actors=50 -queue.writer.num.actors=50 +queue.num.actors=10 +queue.sender.num.actors=10 +queue.writer.num.actors=10 collections.keyspace.strategy.options=replication_factor:1 collections.keyspace.strategy.class=SimpleStrategy http://git-wip-us.apache.org/repos/asf/usergrid/blob/f49fe0a6/stack/corepersistence/collection/src/test/resources/usergrid.properties ---------------------------------------------------------------------- diff --git a/stack/corepersistence/collection/src/test/resources/usergrid.properties b/stack/corepersistence/collection/src/test/resources/usergrid.properties index 1d0de54..921e166 100644 --- a/stack/corepersistence/collection/src/test/resources/usergrid.properties +++ b/stack/corepersistence/collection/src/test/resources/usergrid.properties @@ -34,8 +34,8 @@ collection.uniquevalues.authoritative.region=us-east cassandra.connections=50 cassandra.timeout.pool=30000 -queue.num.actors=50 -queue.sender.num.actors=50 -queue.writer.num.actors=50 +queue.num.actors=10 +queue.sender.num.actors=10 +queue.writer.num.actors=10 # --- End: Usergrid cluster/actor system settings http://git-wip-us.apache.org/repos/asf/usergrid/blob/f49fe0a6/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/migration/schema/MigrationManager.java ---------------------------------------------------------------------- diff --git a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/migration/schema/MigrationManager.java b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/migration/schema/MigrationManager.java index 8b2dd41..f047d6b 100644 --- a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/migration/schema/MigrationManager.java +++ b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/migration/schema/MigrationManager.java @@ -29,7 +29,7 @@ public interface MigrationManager { /** * Perform any migration necessary in the application. Will only create keyspaces and column families if they do * not exist - * @param forceCheckKeyspaces + * @param forceCheckSchema */ - void migrate(boolean forceCheckKeyspaces) throws MigrationException; + void migrate(boolean forceCheckSchema) throws MigrationException; } http://git-wip-us.apache.org/repos/asf/usergrid/blob/f49fe0a6/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/migration/schema/MigrationManagerImpl.java ---------------------------------------------------------------------- diff --git a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/migration/schema/MigrationManagerImpl.java b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/migration/schema/MigrationManagerImpl.java index b0fec3c..4046251 100644 --- a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/migration/schema/MigrationManagerImpl.java +++ b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/migration/schema/MigrationManagerImpl.java @@ -19,7 +19,6 @@ package org.apache.usergrid.persistence.core.migration.schema; -import com.datastax.driver.core.KeyspaceMetadata; import com.google.inject.Inject; import com.google.inject.Singleton; import com.netflix.astyanax.Keyspace; @@ -69,13 +68,13 @@ public class MigrationManagerImpl implements MigrationManager { @Override - public void migrate(boolean forceCheckKeyspaces) throws MigrationException { + public void migrate(boolean forceCheckSchema) throws MigrationException { try { - dataStaxCluster.createApplicationKeyspace(forceCheckKeyspaces); + dataStaxCluster.createApplicationKeyspace(forceCheckSchema); - dataStaxCluster.createApplicationLocalKeyspace(forceCheckKeyspaces); + dataStaxCluster.createApplicationLocalKeyspace(forceCheckSchema); for ( Migration migration : migrations ) { @@ -104,7 +103,7 @@ public class MigrationManagerImpl implements MigrationManager { if ( tables != null && !tables.isEmpty() ) { for (TableDefinition tableDefinition : tables) { - createTable(tableDefinition); + createTable(tableDefinition, forceCheckSchema); } } @@ -144,16 +143,19 @@ public class MigrationManagerImpl implements MigrationManager { } - private void createTable(TableDefinition tableDefinition ) throws Exception { - - KeyspaceMetadata keyspaceMetadata = dataStaxCluster.getClusterSession().getCluster().getMetadata() - .getKeyspace(CQLUtils.quote( tableDefinition.getKeyspace() ) ); - boolean exists = keyspaceMetadata != null - && keyspaceMetadata.getTable( tableDefinition.getTableName() ) != null; - - //boolean exists = dataStaxCluster.getClusterSession() - // .execute("select * from system.schema_columnfamilies where keyspace_name='"+tableDefinition.getKeyspace() - // +"' and columnfamily_name='"+CQLUtils.unquote(tableDefinition.getTableName())+"'").one() != null; + private void createTable(TableDefinition tableDefinition, boolean forceCheckSchema) throws Exception { + + boolean exists; + if(!forceCheckSchema){ + exists = dataStaxCluster.getClusterSession().getCluster() + .getMetadata() + .getKeyspace(CQLUtils.quote( tableDefinition.getKeyspace() ) ) + .getTable( tableDefinition.getTableName() ) != null; + }else{ + exists = dataStaxCluster.getClusterSession() + .execute("select * from system.schema_columnfamilies where keyspace_name='"+tableDefinition.getKeyspace() + +"' and columnfamily_name='"+CQLUtils.unquote(tableDefinition.getTableName())+"'").one() != null; + } if( exists ){ logger.info("Not creating table {}, it already exists.", tableDefinition.getTableName());