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/08/17 21:48:39 UTC
[32/38] usergrid git commit: Remove remaining traces of Astyanax from
Unique Value serialization.
Remove remaining traces of Astyanax from Unique Value serialization.
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/6efb5bad
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/6efb5bad
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/6efb5bad
Branch: refs/heads/master
Commit: 6efb5bad0106cdbe8b0e48843ee68fcfd1aa56d3
Parents: eccb4d5
Author: Michael Russo <mr...@apigee.com>
Authored: Sun May 8 22:39:54 2016 +0800
Committer: Michael Russo <mr...@apigee.com>
Committed: Sun May 8 22:39:54 2016 +0800
----------------------------------------------------------------------
.../impl/EntityCollectionManagerImpl.java | 95 +++++++++-----------
.../mvcc/stage/write/WriteUniqueVerify.java | 15 ++--
.../UniqueValueSerializationStrategy.java | 16 ++--
.../UniqueValueSerializationStrategyImpl.java | 71 +++------------
...iqueValueSerializationStrategyProxyImpl.java | 14 +--
.../UniqueValueSerializationStrategyV1Impl.java | 85 ++----------------
.../UniqueValueSerializationStrategyV2Impl.java | 67 +-------------
7 files changed, 80 insertions(+), 283 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/6efb5bad/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityCollectionManagerImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityCollectionManagerImpl.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityCollectionManagerImpl.java
index 6d42fa2..291e5df 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityCollectionManagerImpl.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityCollectionManagerImpl.java
@@ -296,15 +296,11 @@ public class EntityCollectionManagerImpl implements EntityCollectionManager {
public Observable<Id> getIdField( final String type, final Field field ) {
final List<Field> fields = Collections.singletonList( field );
final Observable<Id> idObservable = Observable.from( fields ).map( field1 -> {
- try {
- final UniqueValueSet set = uniqueValueSerializationStrategy.load( applicationScope, type, fields );
- final UniqueValue value = set.getValue( field1.getName() );
- return value == null ? null : value.getEntityId();
- }
- catch ( ConnectionException e ) {
- logger.error( "Failed to getIdField", e );
- throw new RuntimeException( e );
- }
+
+ final UniqueValueSet set = uniqueValueSerializationStrategy.load( applicationScope, type, fields );
+ final UniqueValue value = set.getValue( field1.getName() );
+ return value == null ? null : value.getEntityId();
+
} );
return ObservableTimer.time( idObservable, fieldIdTimer );
@@ -317,68 +313,63 @@ public class EntityCollectionManagerImpl implements EntityCollectionManager {
@Override
public Observable<FieldSet> getEntitiesFromFields( final String type, final Collection<Field> fields ) {
final Observable<FieldSet> fieldSetObservable = Observable.just( fields ).map( fields1 -> {
- try {
- final UUID startTime = UUIDGenerator.newTimeUUID();
+ final UUID startTime = UUIDGenerator.newTimeUUID();
- //Get back set of unique values that correspond to collection of fields
- UniqueValueSet set = uniqueValueSerializationStrategy.load( applicationScope, type, fields1 );
-
- //Short circuit if we don't have any uniqueValues from the given fields.
- if ( !set.iterator().hasNext() ) {
- return new MutableFieldSet( 0 );
- }
+ //Get back set of unique values that correspond to collection of fields
+ UniqueValueSet set = uniqueValueSerializationStrategy.load( applicationScope, type, fields1 );
+ //Short circuit if we don't have any uniqueValues from the given fields.
+ if ( !set.iterator().hasNext() ) {
+ return new MutableFieldSet( 0 );
+ }
- //loop through each field, and construct an entity load
- List<Id> entityIds = new ArrayList<>( fields1.size() );
- List<UniqueValue> uniqueValues = new ArrayList<>( fields1.size() );
- for ( final Field expectedField : fields1 ) {
+ //loop through each field, and construct an entity load
+ List<Id> entityIds = new ArrayList<>( fields1.size() );
+ List<UniqueValue> uniqueValues = new ArrayList<>( fields1.size() );
- UniqueValue value = set.getValue( expectedField.getName() );
+ for ( final Field expectedField : fields1 ) {
- if ( value == null ) {
- logger.debug( "Field does not correspond to a unique value" );
- }
+ UniqueValue value = set.getValue( expectedField.getName() );
- entityIds.add( value.getEntityId() );
- uniqueValues.add( value );
+ if ( value == null ) {
+ logger.debug( "Field does not correspond to a unique value" );
}
- //Load a entity for each entityId we retrieved.
- final EntitySet entitySet = entitySerializationStrategy.load( applicationScope, entityIds, startTime );
-
- final BatchStatement uniqueDeleteBatch = new BatchStatement();
-
- final MutableFieldSet response = new MutableFieldSet( fields1.size() );
+ entityIds.add( value.getEntityId() );
+ uniqueValues.add( value );
+ }
- for ( final UniqueValue expectedUnique : uniqueValues ) {
- final MvccEntity entity = entitySet.getEntity( expectedUnique.getEntityId() );
+ //Load a entity for each entityId we retrieved.
+ final EntitySet entitySet = entitySerializationStrategy.load( applicationScope, entityIds, startTime );
- //bad unique value, delete this, it's inconsistent
- if ( entity == null || !entity.getEntity().isPresent() ) {
- uniqueDeleteBatch.add(
- uniqueValueSerializationStrategy.deleteCQL( applicationScope, expectedUnique ));
- continue;
- }
+ final BatchStatement uniqueDeleteBatch = new BatchStatement();
- //TODO, we need to validate the property in the entity matches the property in the unique value
+ final MutableFieldSet response = new MutableFieldSet( fields1.size() );
+ for ( final UniqueValue expectedUnique : uniqueValues ) {
+ final MvccEntity entity = entitySet.getEntity( expectedUnique.getEntityId() );
- //else add it to our result set
- response.addEntity( expectedUnique.getField(), entity );
+ //bad unique value, delete this, it's inconsistent
+ if ( entity == null || !entity.getEntity().isPresent() ) {
+ uniqueDeleteBatch.add(
+ uniqueValueSerializationStrategy.deleteCQL( applicationScope, expectedUnique ));
+ continue;
}
- //TODO: explore making this an Async process
- session.execute(uniqueDeleteBatch);
+ //TODO, we need to validate the property in the entity matches the property in the unique value
- return response;
- }
- catch ( ConnectionException e ) {
- logger.error( "Failed to getIdField", e );
- throw new RuntimeException( e );
+
+ //else add it to our result set
+ response.addEntity( expectedUnique.getField(), entity );
}
+
+ //TODO: explore making this an Async process
+ session.execute(uniqueDeleteBatch);
+
+ return response;
+
} );
http://git-wip-us.apache.org/repos/asf/usergrid/blob/6efb5bad/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/WriteUniqueVerify.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/WriteUniqueVerify.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/WriteUniqueVerify.java
index 501950a..5e99a05 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/WriteUniqueVerify.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/WriteUniqueVerify.java
@@ -24,6 +24,7 @@ import java.util.List;
import java.util.Map;
import com.datastax.driver.core.BatchStatement;
+import com.datastax.driver.core.ConsistencyLevel;
import com.datastax.driver.core.Session;
import com.netflix.hystrix.HystrixCommandProperties;
import org.slf4j.Logger;
@@ -49,9 +50,7 @@ import com.google.common.base.Preconditions;
import com.google.inject.Inject;
import com.google.inject.Singleton;
import com.netflix.astyanax.Keyspace;
-import com.netflix.astyanax.MutationBatch;
import com.netflix.astyanax.connectionpool.exceptions.ConnectionException;
-import com.netflix.astyanax.model.ConsistencyLevel;
import com.netflix.hystrix.HystrixCommand;
import com.netflix.hystrix.HystrixCommandGroupKey;
import com.netflix.hystrix.HystrixThreadPoolProperties;
@@ -180,25 +179,21 @@ public class WriteUniqueVerify implements Action1<CollectionIoEvent<MvccEntity>>
@Override
protected Map<String, Field> run() throws Exception {
- return executeStrategy(fig.getReadCL());
+ return executeStrategy(fig.getDataStaxReadCl());
}
@Override
protected Map<String, Field> getFallback() {
// fallback with same CL as there are many reasons the 1st execution failed, not just due to consistency problems
- return executeStrategy(fig.getReadCL());
+ return executeStrategy(fig.getDataStaxReadCl());
}
public Map<String, Field> executeStrategy(ConsistencyLevel consistencyLevel){
//allocate our max size, worst case
//now get the set of fields back
final UniqueValueSet uniqueValues;
- try {
- uniqueValues = uniqueValueSerializationStrategy.load( scope, consistencyLevel, type, uniqueFields );
- }
- catch ( ConnectionException e ) {
- throw new RuntimeException( "Unable to read from cassandra", e );
- }
+
+ uniqueValues = uniqueValueSerializationStrategy.load( scope, consistencyLevel, type, uniqueFields );
final Map<String, Field> uniquenessViolations = new HashMap<>( uniqueFields.size() );
http://git-wip-us.apache.org/repos/asf/usergrid/blob/6efb5bad/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/UniqueValueSerializationStrategy.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/UniqueValueSerializationStrategy.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/UniqueValueSerializationStrategy.java
index bb6f5fe..eb43985 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/UniqueValueSerializationStrategy.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/UniqueValueSerializationStrategy.java
@@ -22,17 +22,13 @@ import java.util.Collection;
import java.util.Iterator;
import com.datastax.driver.core.BatchStatement;
-import org.apache.usergrid.persistence.collection.serialization.impl.UniqueValueSerializationStrategyImpl;
+import com.datastax.driver.core.ConsistencyLevel;
import org.apache.usergrid.persistence.core.migration.data.VersionedData;
import org.apache.usergrid.persistence.core.migration.schema.Migration;
import org.apache.usergrid.persistence.core.scope.ApplicationScope;
import org.apache.usergrid.persistence.model.entity.Id;
import org.apache.usergrid.persistence.model.field.Field;
-import com.netflix.astyanax.MutationBatch;
-import com.netflix.astyanax.connectionpool.exceptions.ConnectionException;
-import com.netflix.astyanax.model.ConsistencyLevel;
-
/**
* Reads and writes to UniqueValues column family.
@@ -60,9 +56,8 @@ public interface UniqueValueSerializationStrategy extends Migration, VersionedDa
*
* @return UniqueValueSet containing fields from the collection that exist in cassandra
*
- * @throws ConnectionException on error connecting to Cassandra
*/
- UniqueValueSet load( ApplicationScope applicationScope, String type, Collection<Field> fields ) throws ConnectionException;
+ UniqueValueSet load( ApplicationScope applicationScope, String type, Collection<Field> fields );
/**
* Load UniqueValue that matches field from collection or null if that value does not exist.
@@ -72,10 +67,9 @@ public interface UniqueValueSerializationStrategy extends Migration, VersionedDa
* @param type The type the unique value exists within
* @param fields Field name/value to search for
* @return UniqueValueSet containing fields from the collection that exist in cassandra
- * @throws ConnectionException on error connecting to Cassandra
*/
- UniqueValueSet load( ApplicationScope applicationScope, ConsistencyLevel consistencyLevel, String type,
- Collection<Field> fields ) throws ConnectionException;
+ UniqueValueSet load(ApplicationScope applicationScope, ConsistencyLevel consistencyLevel, String type,
+ Collection<Field> fields );
/**
@@ -96,7 +90,7 @@ public interface UniqueValueSerializationStrategy extends Migration, VersionedDa
* @param uniqueValue Object to be deleted.
* @return BatchStatement that encapsulates the CQL statements, caller may or may not execute.
*/
- BatchStatement deleteCQL( ApplicationScope applicationScope, UniqueValue uniqueValue);
+ BatchStatement deleteCQL( ApplicationScope applicationScope, UniqueValue uniqueValue );
}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/6efb5bad/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/UniqueValueSerializationStrategyImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/UniqueValueSerializationStrategyImpl.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/UniqueValueSerializationStrategyImpl.java
index fe4e06f..5320152 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/UniqueValueSerializationStrategyImpl.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/UniqueValueSerializationStrategyImpl.java
@@ -33,26 +33,18 @@ import org.apache.usergrid.persistence.model.field.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.apache.cassandra.db.marshal.BytesType;
import org.apache.usergrid.persistence.collection.serialization.SerializationFig;
import org.apache.usergrid.persistence.collection.serialization.UniqueValue;
import org.apache.usergrid.persistence.collection.serialization.UniqueValueSerializationStrategy;
import org.apache.usergrid.persistence.collection.serialization.UniqueValueSet;
import org.apache.usergrid.persistence.core.CassandraFig;
-import org.apache.usergrid.persistence.core.astyanax.ColumnTypes;
-import org.apache.usergrid.persistence.core.astyanax.MultiTenantColumnFamily;
import org.apache.usergrid.persistence.core.astyanax.MultiTenantColumnFamilyDefinition;
-import org.apache.usergrid.persistence.core.astyanax.ScopedRowKey;
import org.apache.usergrid.persistence.core.scope.ApplicationScope;
import org.apache.usergrid.persistence.core.util.ValidationUtils;
import org.apache.usergrid.persistence.model.entity.Id;
import com.google.common.base.Preconditions;
-import com.netflix.astyanax.ColumnListMutation;
-import com.netflix.astyanax.Keyspace;
-import com.netflix.astyanax.MutationBatch;
-import com.netflix.astyanax.connectionpool.exceptions.ConnectionException;
/**
@@ -66,28 +58,17 @@ public abstract class UniqueValueSerializationStrategyImpl<FieldKey, EntityKey>
public static final String UUID_TYPE_REVERSED = "UUIDType(reversed=true)";
-
- private final MultiTenantColumnFamily<ScopedRowKey<FieldKey>, EntityVersion>
- CF_UNIQUE_VALUES;
-
-
- private final MultiTenantColumnFamily<ScopedRowKey<EntityKey>, UniqueFieldEntry>
- CF_ENTITY_UNIQUE_VALUE_LOG ;
-
private final String TABLE_UNIQUE_VALUES;
private final String TABLE_UNIQUE_VALUES_LOG;
-
private final Map COLUMNS_UNIQUE_VALUES;
private final Map COLUMNS_UNIQUE_VALUES_LOG;
-
public static final int COL_VALUE = 0x0;
private final SerializationFig serializationFig;
- protected final Keyspace keyspace;
private final CassandraFig cassandraFig;
private final Session session;
@@ -97,23 +78,19 @@ public abstract class UniqueValueSerializationStrategyImpl<FieldKey, EntityKey>
/**
* Construct serialization strategy for keyspace.
*
- * @param keyspace Keyspace in which to store Unique Values.
* @param cassandraFig The cassandra configuration
* @param serializationFig The serialization configuration
*/
- public UniqueValueSerializationStrategyImpl( final Keyspace keyspace, final CassandraFig cassandraFig,
+ public UniqueValueSerializationStrategyImpl( final CassandraFig cassandraFig,
final SerializationFig serializationFig,
- final Session session, final CassandraConfig cassandraConfig) {
- this.keyspace = keyspace;
+ final Session session,
+ final CassandraConfig cassandraConfig) {
this.cassandraFig = cassandraFig;
this.serializationFig = serializationFig;
this.session = session;
this.cassandraConfig = cassandraConfig;
- CF_UNIQUE_VALUES = getUniqueValuesCF();
- CF_ENTITY_UNIQUE_VALUE_LOG = getEntityUniqueLogCF();
-
TABLE_UNIQUE_VALUES = getUniqueValuesTable().getTableName();
TABLE_UNIQUE_VALUES_LOG = getEntityUniqueLogTable().getTableName();
@@ -242,27 +219,27 @@ public abstract class UniqueValueSerializationStrategyImpl<FieldKey, EntityKey>
@Override
public UniqueValueSet load( final ApplicationScope colScope, final String type, final Collection<Field> fields )
- throws ConnectionException {
- return load( colScope, com.netflix.astyanax.model.ConsistencyLevel.valueOf( cassandraFig.getAstyanaxReadCL() ), type, fields );
+ {
+ return load( colScope, ConsistencyLevel.valueOf( cassandraFig.getReadCl() ), type, fields );
}
@Override
- public UniqueValueSet load( final ApplicationScope appScope, final com.netflix.astyanax.model.ConsistencyLevel consistencyLevel,
- final String type, final Collection<Field> fields ) throws ConnectionException {
+ public UniqueValueSet load( final ApplicationScope appScope,
+ final ConsistencyLevel consistencyLevel,
+ final String type, final Collection<Field> fields ) {
Preconditions.checkNotNull( fields, "fields are required" );
Preconditions.checkArgument( fields.size() > 0, "More than 1 field must be specified" );
- return loadCQL(appScope, com.datastax.driver.core.ConsistencyLevel.LOCAL_QUORUM, type, fields);
-
- //return loadLegacy( appScope, type, fields);
+ return loadCQL(appScope, consistencyLevel, type, fields);
}
- private UniqueValueSet loadCQL( final ApplicationScope appScope, final com.datastax.driver.core.ConsistencyLevel consistencyLevel,
- final String type, final Collection<Field> fields ) throws ConnectionException {
+ private UniqueValueSet loadCQL( final ApplicationScope appScope,
+ final ConsistencyLevel consistencyLevel,
+ final String type, final Collection<Field> fields ) {
Preconditions.checkNotNull( fields, "fields are required" );
Preconditions.checkArgument( fields.size() > 0, "More than 1 field must be specified" );
@@ -287,7 +264,7 @@ public abstract class UniqueValueSerializationStrategyImpl<FieldKey, EntityKey>
final Statement statement = QueryBuilder.select().all().from(TABLE_UNIQUE_VALUES)
.where(inKey)
- .setConsistencyLevel(com.datastax.driver.core.ConsistencyLevel.LOCAL_QUORUM);
+ .setConsistencyLevel(consistencyLevel);
final ResultSet resultSet = session.execute(statement);
@@ -366,13 +343,6 @@ public abstract class UniqueValueSerializationStrategyImpl<FieldKey, EntityKey>
@Override
public abstract Collection<TableDefinition> getTables();
-
- /**
- * Get the column family for the unique fields
- */
- protected abstract MultiTenantColumnFamily<ScopedRowKey<FieldKey>, EntityVersion> getUniqueValuesCF();
-
-
/**
* Get the CQL table definition for the unique values log table
*/
@@ -395,26 +365,11 @@ public abstract class UniqueValueSerializationStrategyImpl<FieldKey, EntityKey>
-
-
- /**
- * Get the column family for the unique field CF
- */
- protected abstract MultiTenantColumnFamily<ScopedRowKey<EntityKey>, UniqueFieldEntry> getEntityUniqueLogCF();
-
/**
* Get the CQL table definition for the unique values log table
*/
protected abstract TableDefinition getEntityUniqueLogTable();
- /**
- * Generate a key that is compatible with the column family
- *
- * @param applicationId The applicationId
- * @param uniqueValueId The uniqueValue
- */
- protected abstract EntityKey createEntityUniqueLogKey(final Id applicationId, final Id uniqueValueId );
-
public class AllUniqueFieldsIterator implements Iterable<UniqueValue>, Iterator<UniqueValue> {
http://git-wip-us.apache.org/repos/asf/usergrid/blob/6efb5bad/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/UniqueValueSerializationStrategyProxyImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/UniqueValueSerializationStrategyProxyImpl.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/UniqueValueSerializationStrategyProxyImpl.java
index dc5b48f..4b5653f 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/UniqueValueSerializationStrategyProxyImpl.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/UniqueValueSerializationStrategyProxyImpl.java
@@ -25,6 +25,7 @@ import java.util.Collections;
import java.util.Iterator;
import com.datastax.driver.core.BatchStatement;
+import com.datastax.driver.core.ConsistencyLevel;
import org.apache.usergrid.persistence.collection.serialization.UniqueValue;
import org.apache.usergrid.persistence.collection.serialization.UniqueValueSerializationStrategy;
import org.apache.usergrid.persistence.collection.serialization.UniqueValueSet;
@@ -40,28 +41,21 @@ import org.apache.usergrid.persistence.model.field.Field;
import com.google.inject.Inject;
import com.google.inject.Singleton;
-import com.netflix.astyanax.Keyspace;
-import com.netflix.astyanax.MutationBatch;
-import com.netflix.astyanax.connectionpool.exceptions.ConnectionException;
-import com.netflix.astyanax.model.ConsistencyLevel;
@Singleton
public class UniqueValueSerializationStrategyProxyImpl implements UniqueValueSerializationStrategy {
- protected final Keyspace keyspace;
private final VersionedMigrationSet<UniqueValueSerializationStrategy> versions;
private final MigrationInfoCache migrationInfoCache;
@Inject
- public UniqueValueSerializationStrategyProxyImpl( final Keyspace keyspace,
- final VersionedMigrationSet<UniqueValueSerializationStrategy>
+ public UniqueValueSerializationStrategyProxyImpl( final VersionedMigrationSet<UniqueValueSerializationStrategy>
allVersions,
final MigrationInfoCache migrationInfoCache ) {
- this.keyspace = keyspace;
this.migrationInfoCache = migrationInfoCache;
this.versions = allVersions;
}
@@ -86,7 +80,7 @@ public class UniqueValueSerializationStrategyProxyImpl implements UniqueValueSer
@Override
public UniqueValueSet load( final ApplicationScope applicationScope, final String type,
- final Collection<Field> fields ) throws ConnectionException {
+ final Collection<Field> fields ) {
final MigrationRelationship<UniqueValueSerializationStrategy> migration = getMigrationRelationShip();
@@ -100,7 +94,7 @@ public class UniqueValueSerializationStrategyProxyImpl implements UniqueValueSer
@Override
public UniqueValueSet load( final ApplicationScope applicationScope, final ConsistencyLevel consistencyLevel,
- final String type, final Collection<Field> fields ) throws ConnectionException {
+ final String type, final Collection<Field> fields ) {
final MigrationRelationship<UniqueValueSerializationStrategy> migration = getMigrationRelationShip();
http://git-wip-us.apache.org/repos/asf/usergrid/blob/6efb5bad/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/UniqueValueSerializationStrategyV1Impl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/UniqueValueSerializationStrategyV1Impl.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/UniqueValueSerializationStrategyV1Impl.java
index 73df64a..6421869 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/UniqueValueSerializationStrategyV1Impl.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/UniqueValueSerializationStrategyV1Impl.java
@@ -26,17 +26,12 @@ import java.util.*;
import com.datastax.driver.core.DataType;
import com.datastax.driver.core.ProtocolVersion;
import com.datastax.driver.core.Session;
-import org.apache.cassandra.db.marshal.BytesType;
import org.apache.usergrid.persistence.collection.serialization.SerializationFig;
import org.apache.usergrid.persistence.collection.serialization.impl.util.LegacyScopeUtils;
import org.apache.usergrid.persistence.core.CassandraConfig;
import org.apache.usergrid.persistence.core.CassandraFig;
-import org.apache.usergrid.persistence.core.astyanax.ColumnTypes;
-import org.apache.usergrid.persistence.core.astyanax.IdRowCompositeSerializer;
-import org.apache.usergrid.persistence.core.astyanax.MultiTenantColumnFamily;
import org.apache.usergrid.persistence.core.astyanax.MultiTenantColumnFamilyDefinition;
-import org.apache.usergrid.persistence.core.astyanax.ScopedRowKey;
import org.apache.usergrid.persistence.core.datastax.CQLUtils;
import org.apache.usergrid.persistence.core.datastax.TableDefinition;
import org.apache.usergrid.persistence.model.entity.Id;
@@ -44,7 +39,6 @@ import org.apache.usergrid.persistence.model.field.Field;
import com.google.inject.Inject;
import com.google.inject.Singleton;
-import com.netflix.astyanax.Keyspace;
/**
@@ -88,80 +82,40 @@ public class UniqueValueSerializationStrategyV1Impl extends UniqueValueSerializ
UNIQUE_VALUES_LOG_COLUMNS, TableDefinition.CacheOption.KEYS, UNIQUE_VALUES_LOG_CLUSTERING_ORDER);
- private static final CollectionScopedRowKeySerializer<Field> ROW_KEY_SER =
- new CollectionScopedRowKeySerializer<>( UniqueFieldRowKeySerializer.get() );
-
- private static final EntityVersionSerializer ENTITY_VERSION_SER = new EntityVersionSerializer();
-
- private static final MultiTenantColumnFamily<ScopedRowKey<CollectionPrefixedKey<Field>>, EntityVersion>
- CF_UNIQUE_VALUES = new MultiTenantColumnFamily<>( "Unique_Values", ROW_KEY_SER, ENTITY_VERSION_SER );
-
-
- private static final IdRowCompositeSerializer ID_SER = IdRowCompositeSerializer.get();
-
-
- private static final CollectionScopedRowKeySerializer<Id> ENTITY_ROW_KEY_SER =
- new CollectionScopedRowKeySerializer<>( ID_SER );
-
-
- private static final MultiTenantColumnFamily<ScopedRowKey<CollectionPrefixedKey<Id>>, UniqueFieldEntry>
- CF_ENTITY_UNIQUE_VALUE_LOG =
- new MultiTenantColumnFamily<>( "Entity_Unique_Values", ENTITY_ROW_KEY_SER, UniqueFieldEntrySerializer.get() );
-
/**
* Construct serialization strategy for keyspace.
*
- * @param keyspace Keyspace in which to store Unique Values.
* @param cassandraFig The cassandra configuration
* @param serializationFig The serialization configuration
*/
@Inject
- public UniqueValueSerializationStrategyV1Impl(final Keyspace keyspace, final CassandraFig cassandraFig,
- final SerializationFig serializationFig,
- final Session session,
- final CassandraConfig cassandraConfig) {
- super( keyspace, cassandraFig, serializationFig, session, cassandraConfig );
+ public UniqueValueSerializationStrategyV1Impl( final CassandraFig cassandraFig,
+ final SerializationFig serializationFig,
+ final Session session,
+ final CassandraConfig cassandraConfig) {
+ super( cassandraFig, serializationFig, session, cassandraConfig );
}
@Override
public Collection<MultiTenantColumnFamilyDefinition> getColumnFamilies() {
- final MultiTenantColumnFamilyDefinition uniqueLookupCF =
- new MultiTenantColumnFamilyDefinition( CF_UNIQUE_VALUES, BytesType.class.getSimpleName(),
- ColumnTypes.DYNAMIC_COMPOSITE_TYPE, BytesType.class.getSimpleName(),
- MultiTenantColumnFamilyDefinition.CacheOption.KEYS );
-
- final MultiTenantColumnFamilyDefinition uniqueLogCF =
- new MultiTenantColumnFamilyDefinition( CF_ENTITY_UNIQUE_VALUE_LOG, BytesType.class.getSimpleName(),
- ColumnTypes.DYNAMIC_COMPOSITE_TYPE, BytesType.class.getSimpleName(),
- MultiTenantColumnFamilyDefinition.CacheOption.KEYS );
-
- //return Collections.emptyList();
+ return Collections.emptyList();
- return Arrays.asList(uniqueLookupCF, uniqueLogCF);
}
@Override
public Collection<TableDefinition> getTables() {
final TableDefinition uniqueValues = getUniqueValuesTable();
-
final TableDefinition uniqueValuesLog = getEntityUniqueLogTable();
-
- //return Arrays.asList( uniqueValues, uniqueValuesLog );
-
- return Collections.emptyList();
+ return Arrays.asList( uniqueValues, uniqueValuesLog );
}
- @Override
- protected MultiTenantColumnFamily<ScopedRowKey<CollectionPrefixedKey<Field>>, EntityVersion> getUniqueValuesCF() {
- return CF_UNIQUE_VALUES;
- }
@Override
protected TableDefinition getUniqueValuesTable(){
@@ -171,13 +125,6 @@ public class UniqueValueSerializationStrategyV1Impl extends UniqueValueSerializ
@Override
- protected MultiTenantColumnFamily<ScopedRowKey<CollectionPrefixedKey<Id>>, UniqueFieldEntry>
- getEntityUniqueLogCF() {
- return CF_ENTITY_UNIQUE_VALUE_LOG;
- }
-
-
- @Override
protected TableDefinition getEntityUniqueLogTable(){
return uniqueValuesLog;
@@ -463,24 +410,6 @@ public class UniqueValueSerializationStrategyV1Impl extends UniqueValueSerializ
}
-
- @Override
- protected CollectionPrefixedKey<Id> createEntityUniqueLogKey( final Id applicationId,
- final Id uniqueValueId ) {
-
-
- final String collectionName = LegacyScopeUtils.getCollectionScopeNameFromEntityType( uniqueValueId.getType() );
-
-
- final CollectionPrefixedKey<Id> collectionPrefixedEntityKey =
- new CollectionPrefixedKey<>( collectionName, applicationId, uniqueValueId );
-
-
-
- return collectionPrefixedEntityKey;
- }
-
-
@Override
public int getImplementationVersion() {
return CollectionDataVersions.INITIAL.getVersion();
http://git-wip-us.apache.org/repos/asf/usergrid/blob/6efb5bad/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/UniqueValueSerializationStrategyV2Impl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/UniqueValueSerializationStrategyV2Impl.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/UniqueValueSerializationStrategyV2Impl.java
index 8e13f86..6ea5c1e 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/UniqueValueSerializationStrategyV2Impl.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/UniqueValueSerializationStrategyV2Impl.java
@@ -26,24 +26,17 @@ import java.util.*;
import com.datastax.driver.core.DataType;
import com.datastax.driver.core.ProtocolVersion;
import com.datastax.driver.core.Session;
-import org.apache.cassandra.db.marshal.BytesType;
import org.apache.usergrid.persistence.collection.serialization.SerializationFig;
import org.apache.usergrid.persistence.core.CassandraConfig;
import org.apache.usergrid.persistence.core.CassandraFig;
-import org.apache.usergrid.persistence.core.astyanax.ColumnTypes;
-import org.apache.usergrid.persistence.core.astyanax.IdRowCompositeSerializer;
-import org.apache.usergrid.persistence.core.astyanax.MultiTenantColumnFamily;
import org.apache.usergrid.persistence.core.astyanax.MultiTenantColumnFamilyDefinition;
-import org.apache.usergrid.persistence.core.astyanax.ScopedRowKey;
-import org.apache.usergrid.persistence.core.astyanax.ScopedRowKeySerializer;
import org.apache.usergrid.persistence.core.datastax.CQLUtils;
import org.apache.usergrid.persistence.core.datastax.TableDefinition;
import org.apache.usergrid.persistence.model.entity.Id;
import com.google.inject.Inject;
import com.google.inject.Singleton;
-import com.netflix.astyanax.Keyspace;
/**
@@ -84,78 +77,37 @@ public class UniqueValueSerializationStrategyV2Impl extends UniqueValueSerializ
UNIQUE_VALUES_LOG_COLUMNS, TableDefinition.CacheOption.KEYS, UNIQUE_VALUES_LOG_CLUSTERING_ORDER);
- private static final ScopedRowKeySerializer<TypeField> ROW_KEY_SER = new ScopedRowKeySerializer<>( UniqueTypeFieldRowKeySerializer.get() );
-
-
- private static final EntityVersionSerializer ENTITY_VERSION_SER = new EntityVersionSerializer();
-
- private static final MultiTenantColumnFamily<ScopedRowKey<TypeField>, EntityVersion>
- CF_UNIQUE_VALUES = new MultiTenantColumnFamily<>( "Unique_Values_V2", ROW_KEY_SER, ENTITY_VERSION_SER );
-
-
- private static final IdRowCompositeSerializer ID_SER = IdRowCompositeSerializer.get();
-
-
- private static final ScopedRowKeySerializer<Id> ENTITY_ROW_KEY_SER =
- new ScopedRowKeySerializer<>( ID_SER );
-
-
- private static final MultiTenantColumnFamily<ScopedRowKey<Id>, UniqueFieldEntry>
- CF_ENTITY_UNIQUE_VALUE_LOG =
- new MultiTenantColumnFamily<>( "Entity_Unique_Values_V2", ENTITY_ROW_KEY_SER, UniqueFieldEntrySerializer.get() );
-
-
/**
* Construct serialization strategy for keyspace.
*
- * @param keyspace Keyspace in which to store Unique Values.
* @param cassandraFig The cassandra configuration
* @param serializationFig The serialization configuration
+ *
*/
@Inject
- public UniqueValueSerializationStrategyV2Impl( final Keyspace keyspace, final CassandraFig cassandraFig,
+ public UniqueValueSerializationStrategyV2Impl( final CassandraFig cassandraFig,
final SerializationFig serializationFig,
final Session session,
final CassandraConfig cassandraConfig) {
- super( keyspace, cassandraFig, serializationFig, session, cassandraConfig );
+ super( cassandraFig, serializationFig, session, cassandraConfig );
}
@Override
public Collection<MultiTenantColumnFamilyDefinition> getColumnFamilies() {
- final MultiTenantColumnFamilyDefinition uniqueLookupCF =
- new MultiTenantColumnFamilyDefinition( CF_UNIQUE_VALUES, BytesType.class.getSimpleName(),
- ColumnTypes.DYNAMIC_COMPOSITE_TYPE, BytesType.class.getSimpleName(),
- MultiTenantColumnFamilyDefinition.CacheOption.KEYS );
-
- final MultiTenantColumnFamilyDefinition uniqueLogCF =
- new MultiTenantColumnFamilyDefinition( CF_ENTITY_UNIQUE_VALUE_LOG, BytesType.class.getSimpleName(),
- ColumnTypes.DYNAMIC_COMPOSITE_TYPE, BytesType.class.getSimpleName(),
- MultiTenantColumnFamilyDefinition.CacheOption.KEYS );
-
return Collections.emptyList();
- //return Arrays.asList(uniqueLookupCF, uniqueLogCF);
}
@Override
public Collection<TableDefinition> getTables() {
final TableDefinition uniqueValues = getUniqueValuesTable();
-
final TableDefinition uniqueValuesLog = getEntityUniqueLogTable();
-
return Arrays.asList( uniqueValues, uniqueValuesLog );
- //return Collections.emptyList();
-
- }
-
- @Override
- protected MultiTenantColumnFamily<ScopedRowKey<TypeField>, EntityVersion> getUniqueValuesCF() {
- return CF_UNIQUE_VALUES;
}
@@ -166,13 +118,6 @@ public class UniqueValueSerializationStrategyV2Impl extends UniqueValueSerializ
@Override
- protected MultiTenantColumnFamily<ScopedRowKey<Id>, UniqueFieldEntry>
- getEntityUniqueLogCF() {
- return CF_ENTITY_UNIQUE_VALUE_LOG;
- }
-
-
- @Override
protected TableDefinition getEntityUniqueLogTable(){
return uniqueValuesLog;
}
@@ -454,12 +399,6 @@ public class UniqueValueSerializationStrategyV2Impl extends UniqueValueSerializ
@Override
- protected Id createEntityUniqueLogKey( final Id applicationId, final Id uniqueValueId ) {
- return uniqueValueId;
- }
-
-
- @Override
public int getImplementationVersion() {
return CollectionDataVersions.LOG_REMOVAL.getVersion();
}