Bugfix: DocumentTreeBuilder was not preserving ordering
- fixes ONOS-7106
Change-Id: I246afb3b6053cf5248f545f924f7bf37548efd93
diff --git a/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultDocumentTreeBuilder.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultDocumentTreeBuilder.java
index 1aeb0a0..f0da9ab 100644
--- a/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultDocumentTreeBuilder.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultDocumentTreeBuilder.java
@@ -34,7 +34,7 @@
@Override
public AsyncDocumentTree<V> buildDocumentTree() {
- return primitiveCreator.newAsyncDocumentTree(name(), serializer());
+ return primitiveCreator.newAsyncDocumentTree(name(), serializer(), ordering());
}
//TODO
diff --git a/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/FederatedDistributedPrimitiveCreator.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/FederatedDistributedPrimitiveCreator.java
index 8d5668f..85999ab 100644
--- a/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/FederatedDistributedPrimitiveCreator.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/FederatedDistributedPrimitiveCreator.java
@@ -145,7 +145,7 @@
checkNotNull(name);
checkNotNull(serializer);
Map<PartitionId, AsyncDocumentTree<V>> trees =
- Maps.transformValues(members, partition -> partition.<V>newAsyncDocumentTree(name, serializer));
+ Maps.transformValues(members, part -> part.<V>newAsyncDocumentTree(name, serializer, ordering));
Hasher<DocumentPath> hasher = key -> {
int bucket = Math.abs(Hashing.murmur3_32().hashUnencodedChars(String.valueOf(key)).asInt()) % buckets;
return sortedMemberPartitionIds.get(Hashing.consistentHash(bucket, sortedMemberPartitionIds.size()));