Code Review
/
mdsal.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Speed up InmemoryDOMDataTreeShardWriteTransaction's operations
[mdsal.git]
/
dom
/
mdsal-dom-inmemory-datastore
/
src
/
main
/
java
/
org
/
opendaylight
/
mdsal
/
dom
/
store
/
inmemory
/
InmemoryDOMDataTreeShardWriteTransaction.java
diff --git
a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InmemoryDOMDataTreeShardWriteTransaction.java
b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InmemoryDOMDataTreeShardWriteTransaction.java
index d3265fdab3716d05d95bad6f62e43c51ca547459..e0dbe985a76902c81745ee0eae92fba7a5f49109 100644
(file)
--- a/
dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InmemoryDOMDataTreeShardWriteTransaction.java
+++ b/
dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InmemoryDOMDataTreeShardWriteTransaction.java
@@
-63,16
+63,20
@@
class InmemoryDOMDataTreeShardWriteTransaction implements DOMDataTreeShardWriteT
final NormalizedNode<?, ?> data) {
int enterCount = 0;
final Iterator<PathArgument> it = path.getPathArguments().iterator();
final NormalizedNode<?, ?> data) {
int enterCount = 0;
final Iterator<PathArgument> it = path.getPathArguments().iterator();
- while (it.hasNext()) {
- final PathArgument currentArg = it.next();
- if (it.hasNext()) {
+ if (it.hasNext()) {
+ while (true) {
+ final PathArgument currentArg = it.next();
+ if (!it.hasNext()) {
+ applyOnLeaf(cursor, currentArg, data);
+ break;
+ }
+
// We need to enter one level deeper, we are not at leaf (modified) node
cursor.enter(currentArg);
enterCount++;
// We need to enter one level deeper, we are not at leaf (modified) node
cursor.enter(currentArg);
enterCount++;
- } else {
- applyOnLeaf(cursor, currentArg, data);
}
}
}
}
+
cursor.exit(enterCount);
}
}
cursor.exit(enterCount);
}
}
@@
-194,37
+198,25
@@
class InmemoryDOMDataTreeShardWriteTransaction implements DOMDataTreeShardWriteT
Preconditions.checkNotNull(cohorts);
Preconditions.checkState(!cohorts.isEmpty(), "Transaction was not readied yet.");
Preconditions.checkNotNull(cohorts);
Preconditions.checkState(!cohorts.isEmpty(), "Transaction was not readied yet.");
- final ListenableFuture<Void> submit = executor.submit(new ShardSubmitCoordinationTask(
- modification.getPrefix(), cohorts, this));
-
- return submit;
+ return executor.submit(new ShardSubmitCoordinationTask(modification.getPrefix(), cohorts, this));
}
@Override
public ListenableFuture<Boolean> validate() {
LOG.debug("CanCommit on open transaction on shard {}", modification.getPrefix());
}
@Override
public ListenableFuture<Boolean> validate() {
LOG.debug("CanCommit on open transaction on shard {}", modification.getPrefix());
-
- final ListenableFuture<Boolean> submit = executor.submit(new ShardCanCommitCoordinationTask(
- modification.getPrefix(), cohorts));
- return submit;
+ return executor.submit(new ShardCanCommitCoordinationTask(modification.getPrefix(), cohorts));
}
@Override
public ListenableFuture<Void> prepare() {
LOG.debug("PreCommit on open transaction on shard {}", modification.getPrefix());
}
@Override
public ListenableFuture<Void> prepare() {
LOG.debug("PreCommit on open transaction on shard {}", modification.getPrefix());
-
- final ListenableFuture<Void> submit = executor.submit(new ShardPreCommitCoordinationTask(
- modification.getPrefix(), cohorts));
- return submit;
+ return executor.submit(new ShardPreCommitCoordinationTask(modification.getPrefix(), cohorts));
}
@Override
public ListenableFuture<Void> commit() {
LOG.debug("Commit open transaction on shard {}", modification.getPrefix());
}
@Override
public ListenableFuture<Void> commit() {
LOG.debug("Commit open transaction on shard {}", modification.getPrefix());
-
- final ListenableFuture<Void> submit = executor.submit(new ShardCommitCoordinationTask(
- modification.getPrefix(), cohorts, this));
- return submit;
+ return executor.submit(new ShardCommitCoordinationTask(modification.getPrefix(), cohorts, this));
}
DataTreeModification getRootModification() {
}
DataTreeModification getRootModification() {