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());

Reply via email to