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 2017/01/25 18:14:06 UTC
usergrid git commit: Make Locks keyspace creation more robust ( IF
NOT EXISTS sometimes has problems ).
Repository: usergrid
Updated Branches:
refs/heads/master 280ac8b1e -> 691d6b2ec
Make Locks keyspace creation more robust ( IF NOT EXISTS sometimes has problems ).
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/691d6b2e
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/691d6b2e
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/691d6b2e
Branch: refs/heads/master
Commit: 691d6b2ec99c9c98dd9954b666c373932fa093c7
Parents: 280ac8b
Author: Michael Russo <mr...@apigee.com>
Authored: Wed Jan 25 10:13:39 2017 -0800
Committer: Michael Russo <mr...@apigee.com>
Committed: Wed Jan 25 10:13:39 2017 -0800
----------------------------------------------------------------------
.../cassandra/AstyanaxLockManagerImpl.java | 28 +++++++++++---------
1 file changed, 15 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/691d6b2e/stack/core/src/main/java/org/apache/usergrid/locking/cassandra/AstyanaxLockManagerImpl.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/locking/cassandra/AstyanaxLockManagerImpl.java b/stack/core/src/main/java/org/apache/usergrid/locking/cassandra/AstyanaxLockManagerImpl.java
index c0b1f03..a4efde8 100644
--- a/stack/core/src/main/java/org/apache/usergrid/locking/cassandra/AstyanaxLockManagerImpl.java
+++ b/stack/core/src/main/java/org/apache/usergrid/locking/cassandra/AstyanaxLockManagerImpl.java
@@ -21,9 +21,7 @@ import com.google.common.collect.ImmutableMap;
import com.google.inject.Inject;
import com.google.inject.Singleton;
import com.netflix.astyanax.Keyspace;
-import com.netflix.astyanax.connectionpool.exceptions.ConnectionException;
-import com.netflix.astyanax.connectionpool.exceptions.NoAvailableHostsException;
-import com.netflix.astyanax.connectionpool.exceptions.PoolTimeoutException;
+import com.netflix.astyanax.connectionpool.exceptions.*;
import com.netflix.astyanax.ddl.ColumnFamilyDefinition;
import com.netflix.astyanax.ddl.KeyspaceDefinition;
import com.netflix.astyanax.model.ColumnFamily;
@@ -195,20 +193,24 @@ public class AstyanaxLockManagerImpl implements LockManager {
private void createLocksKeyspace() throws ConnectionException {
- ImmutableMap.Builder<String, Object> strategyOptions = getKeySpaceProps();
+ try {
+ KeyspaceDefinition keyspaceDefinition = keyspace.describeKeyspace();
+ if ( keyspaceDefinition != null ) {
+ logger.info("Keyspace {} already exists", keyspace.getKeyspaceName());
+ return;
+ }
+ } catch (ConnectionException ce){
+ logger.debug( "Received a NotFoundException when attempting to describe keyspace. It does not exist" );
+ }
+ ImmutableMap.Builder<String, Object> strategyOptions = getKeySpaceProps();
ImmutableMap<String, Object> options =
- ImmutableMap.<String, Object>builder().put( "strategy_class", cassandraFig.getLocksKeyspaceStrategy() )
- .put( "strategy_options", strategyOptions.build() ).build();
-
-
- keyspace.createKeyspaceIfNotExists( options );
+ ImmutableMap.<String, Object>builder().put("strategy_class", cassandraFig.getLocksKeyspaceStrategy())
+ .put("strategy_options", strategyOptions.build()).build();
- strategyOptions.toString();
+ keyspace.createKeyspace(options);
+ logger.info("Keyspace {} created with options {}", keyspace.getKeyspaceName(), options.toString());
- logger.info( "Keyspace {} created or already exists with options {}",
- keyspace.getKeyspaceName(),
- options.toString() );
}
/**