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