Merge branch 'release-2.1.1' of https://git-wip-us.apache.org/repos/asf/usergrid into usergrid-1268-akka-211
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/670248dd Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/670248dd Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/670248dd Branch: refs/heads/release-2.1.1 Commit: 670248ddaff65db78794bbdceb3c569b0543f6d3 Parents: 557ea91 8982ddd Author: Dave Johnson <[email protected]> Authored: Tue Jul 5 12:57:24 2016 -0400 Committer: Dave Johnson <[email protected]> Committed: Tue Jul 5 12:57:24 2016 -0400 ---------------------------------------------------------------------- .../corepersistence/CpEntityManager.java | 44 +++++--- .../persistence/collection/FieldSet.java | 12 +++ .../impl/EntityCollectionManagerImpl.java | 27 +---- .../mvcc/stage/write/WriteUniqueVerify.java | 19 +++- .../serialization/SerializationFig.java | 4 - .../serialization/impl/MutableFieldSet.java | 12 +++ .../UniqueValueSerializationStrategyImpl.java | 48 +++++++-- .../usergrid/tools/UniqueValueScanner.java | 105 +++++++++++-------- 8 files changed, 176 insertions(+), 95 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/usergrid/blob/670248dd/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/usergrid/blob/670248dd/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityCollectionManagerImpl.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/usergrid/blob/670248dd/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/WriteUniqueVerify.java ---------------------------------------------------------------------- diff --cc stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/WriteUniqueVerify.java index 985137b,01e6621..e7ba967 --- 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 @@@ -170,10 -121,13 +170,11 @@@ public class WriteUniqueVerify implemen try { - // loading will retrieve the oldest unique value entry for the field // don't use read repair on this pre-write check - UniqueValueSet set = uniqueValueStrat.load(scope, written.getEntityId().getType(), - Collections.singletonList(written.getField()), false); + // use CL ALL as consistency is extremely important here, more so than performance + UniqueValueSet set = uniqueValueStrat.load(scope, ConsistencyLevel.CL_ALL, + written.getEntityId().getType(), Collections.singletonList(written.getField()), false); - set.forEach(uniqueValue -> { if(!uniqueValue.getEntityId().getUuid().equals(written.getEntityId().getUuid())){
