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 <[email protected]>
Authored: Thu Sep 8 09:30:59 2016 -0700
Committer: Michael Russo <[email protected]>
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();
  

Reply via email to