commit | 542d9e2285350c30fd41de7266a8e8753c3ff0a7 | [log] [tgz] |
---|---|---|
author | Madan Jampani <madan@onlab.us> | Tue Apr 05 15:39:55 2016 -0700 |
committer | Madan Jampani <madan@onlab.us> | Tue Apr 05 15:41:11 2016 -0700 |
tree | 2b7db6cbab8851e3c5ba3947936b7dd1678b72c4 | |
parent | 1eec50514046689c81dd250accd35fc9cd0ce345 [diff] [blame] |
Performance improvements - Fast path of transactions updating a single key. - Bug fix in StoragePartitionClient where we were always creating a CachingMap Change-Id: Ide117fba34fd12a9ff4aabd5fb7a21952bae672b
diff --git a/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultTransactionalMap.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultTransactionalMap.java index 1aaf297..2d80970 100644 --- a/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultTransactionalMap.java +++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultTransactionalMap.java
@@ -180,8 +180,13 @@ } @Override - public boolean hasPendingUpdates() { - return updates().size() > 0; + public CompletableFuture<Boolean> prepareAndCommit() { + return backingMap.prepareAndCommit(new MapTransaction<>(txContext.transactionId(), updates())); + } + + @Override + public int totalUpdates() { + return updates().size(); } protected List<MapUpdate<K, V>> updates() {