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/09/08 16:31:15 UTC
[5/5] usergrid git commit: Merge branch 'hotfix-20160819'
Merge branch 'hotfix-20160819'
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/d915f557
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/d915f557
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/d915f557
Branch: refs/heads/master
Commit: d915f557b46a5ba7d9d3d711f44a6a8ed89e3847
Parents: efb5bfb 72dcd48
Author: Michael Russo <mr...@apigee.com>
Authored: Thu Sep 8 09:30:59 2016 -0700
Committer: Michael Russo <mr...@apigee.com>
Committed: Thu Sep 8 09:30:59 2016 -0700
----------------------------------------------------------------------
.../usergrid/rest/exceptions/AuthErrorInfo.java | 1 +
.../shiro/filters/BasicAuthSecurityFilter.java | 22 ++-
.../management/AccountCreationProps.java | 8 +
.../cassandra/OrganizationConfigPropsImpl.java | 38 +++-
.../usergrid/services/users/UsersService.java | 15 +-
.../usergrid/tools/UniqueValueManager.java | 183 +++++++------------
6 files changed, 142 insertions(+), 125 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/d915f557/stack/tools/src/main/java/org/apache/usergrid/tools/UniqueValueManager.java
----------------------------------------------------------------------
diff --cc stack/tools/src/main/java/org/apache/usergrid/tools/UniqueValueManager.java
index 6209784,14991ef..755ad3f
--- a/stack/tools/src/main/java/org/apache/usergrid/tools/UniqueValueManager.java
+++ b/stack/tools/src/main/java/org/apache/usergrid/tools/UniqueValueManager.java
@@@ -23,11 -23,16 +23,13 @@@ import java.io.FileReader
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
-import com.google.common.base.*;
-import com.netflix.astyanax.connectionpool.exceptions.ConnectionException;
-import com.netflix.astyanax.model.Column;
-import com.netflix.astyanax.model.ConsistencyLevel;
-import com.netflix.astyanax.util.RangeBuilder;
-import org.apache.usergrid.persistence.Entity;
+import com.datastax.driver.core.BatchStatement;
+import com.datastax.driver.core.ConsistencyLevel;
+import com.datastax.driver.core.Session;
import org.apache.usergrid.persistence.EntityManager;
+ import org.apache.usergrid.persistence.collection.MvccEntity;
import org.apache.usergrid.persistence.collection.serialization.MvccEntitySerializationStrategy;
+ 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.collection.serialization.impl.*;
@@@ -158,9 -189,42 +186,42 @@@ public class UniqueValueManager extend
String fieldValue = valuesArray[3];
UniqueValueSet uniqueValueSet = uniqueValueSerializationStrategy.load(
- new ApplicationScopeImpl(new SimpleId(appUuid, "application")),
- ConsistencyLevel.valueOf(System.getProperty("usergrid.read.cl", "LOCAL_QUORUM")), entityType,
- Collections.singletonList(new StringField(fieldType, fieldValue)), false);
+ new ApplicationScopeImpl(new SimpleId(appUuid, "application")),
+ ConsistencyLevel.valueOf(System.getProperty("usergrid.read.cl", "CL_LOCAL_QUORUM")), entityType,
+ Collections.singletonList(new StringField(fieldType, fieldValue)), useSerializationRepair);
+
+ if( updateOp) {
+
+ if(valuesArray.length!=5){
+ throw new RuntimeException("Missing param {newEntityUUID}");
+ }
+ String updateUUID = valuesArray[4];
+
+ ApplicationScope applicationScope = new ApplicationScopeImpl(new SimpleId(appUuid, "application"));
+ com.google.common.base.Optional<MvccEntity> entity =
+ mvccEntitySerializationStrategy.load(applicationScope, new SimpleId(UUID.fromString(updateUUID), entityType));
+
+ if( !entity.isPresent()
+ || !entity.get().getEntity().isPresent() ){
+ throw new RuntimeException("Unable to update unique value index because supplied UUID "+updateUUID+" does not exist");
+ }
+
+ logger.info("Delete unique value: {}", uniqueValueSet.getValue(fieldType));
- uniqueValueSerializationStrategy.delete(applicationScope, uniqueValueSet.getValue(fieldType)).execute();
++ session.execute(uniqueValueSerializationStrategy.deleteCQL(applicationScope, uniqueValueSet.getValue(fieldType)));
+
+ UniqueValue newUniqueValue =
+ new UniqueValueImpl(new StringField(fieldType, fieldValue), entity.get().getId(), entity.get().getVersion());
+ logger.info("Writing new unique value: {}", newUniqueValue);
- uniqueValueSerializationStrategy.write(applicationScope, newUniqueValue).execute();
++ session.execute(uniqueValueSerializationStrategy.writeCQL(applicationScope, newUniqueValue, -1));
+
+ logger.info("Re-loading unique value set for field");
+
+ }
+
+ uniqueValueSet = uniqueValueSerializationStrategy.load(
+ new ApplicationScopeImpl(new SimpleId(appUuid, "application")),
+ ConsistencyLevel.valueOf(System.getProperty("usergrid.read.cl", "CL_LOCAL_QUORUM")), entityType,
+ Collections.singletonList(new StringField(fieldType, fieldValue)), useSerializationRepair);
StringBuilder stringBuilder = new StringBuilder();