From fdc97fc0d771dcf17616282bc942b05243182a5a Mon Sep 17 00:00:00 2001 From: Jan Medved Date: Tue, 15 Dec 2015 21:34:58 -0800 Subject: [PATCH] Added support for multiple data store types to DOM transaction chains and to simple transactions Fixed a build break introduced by rebase Change-Id: Id8cbaeed5e54d0e275adadaa79d4eddb8fcc58eb Signed-off-by: Jan Medved --- .../opendaylight/dsbenchmark/DatastoreAbstractWriter.java | 2 +- .../dsbenchmark/simpletx/SimpletxBaWrite.java | 8 ++++++-- .../dsbenchmark/simpletx/SimpletxDomWrite.java | 6 ++++-- .../opendaylight/dsbenchmark/txchain/TxchainDomWrite.java | 1 + 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/DatastoreAbstractWriter.java b/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/DatastoreAbstractWriter.java index db17cdb766..20024e455e 100644 --- a/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/DatastoreAbstractWriter.java +++ b/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/DatastoreAbstractWriter.java @@ -62,7 +62,7 @@ public abstract class DatastoreAbstractWriter { } else { - if (rn.nextInt() % 2 != 0) { + if (rn.nextBoolean() == true) { dsType = LogicalDatastoreType.OPERATIONAL; } else { dsType = LogicalDatastoreType.CONFIGURATION; diff --git a/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/simpletx/SimpletxBaWrite.java b/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/simpletx/SimpletxBaWrite.java index 5357311e40..f0a0ba895a 100644 --- a/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/simpletx/SimpletxBaWrite.java +++ b/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/simpletx/SimpletxBaWrite.java @@ -44,15 +44,17 @@ public class SimpletxBaWrite extends DatastoreAbstractWriter { @Override public void executeList() { WriteTransaction tx = dataBroker.newWriteOnlyTransaction(); + LogicalDatastoreType dsType = getDataStoreType(); + long writeCnt = 0; for (OuterList element : this.list) { InstanceIdentifier iid = InstanceIdentifier.create(TestExec.class) .child(OuterList.class, element.getKey()); if (oper == StartTestInput.Operation.PUT) { - tx.put(LogicalDatastoreType.CONFIGURATION, iid, element); + tx.put(dsType, iid, element); } else { - tx.merge(LogicalDatastoreType.CONFIGURATION, iid, element); + tx.merge(dsType, iid, element); } writeCnt++; @@ -66,6 +68,8 @@ public class SimpletxBaWrite extends DatastoreAbstractWriter { txError++; } tx = dataBroker.newWriteOnlyTransaction(); + dsType = getDataStoreType(); + writeCnt = 0; } } diff --git a/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/simpletx/SimpletxDomWrite.java b/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/simpletx/SimpletxDomWrite.java index f367b83598..6ab69908be 100644 --- a/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/simpletx/SimpletxDomWrite.java +++ b/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/simpletx/SimpletxDomWrite.java @@ -46,6 +46,7 @@ public class SimpletxDomWrite extends DatastoreAbstractWriter { @Override public void executeList() { DOMDataWriteTransaction tx = domDataBroker.newWriteOnlyTransaction(); + LogicalDatastoreType dsType = getDataStoreType(); long writeCnt = 0; YangInstanceIdentifier pid = YangInstanceIdentifier.builder().node(TestExec.QNAME).node(OuterList.QNAME).build(); @@ -53,9 +54,9 @@ public class SimpletxDomWrite extends DatastoreAbstractWriter { YangInstanceIdentifier yid = pid.node(new NodeIdentifierWithPredicates(OuterList.QNAME, element.getIdentifier().getKeyValues())); if (oper == StartTestInput.Operation.PUT) { - tx.put(LogicalDatastoreType.CONFIGURATION, yid, element); + tx.put(dsType, yid, element); } else { - tx.merge(LogicalDatastoreType.CONFIGURATION, yid, element); + tx.merge(dsType, yid, element); } writeCnt++; @@ -69,6 +70,7 @@ public class SimpletxDomWrite extends DatastoreAbstractWriter { txError++; } tx = domDataBroker.newWriteOnlyTransaction(); + dsType = getDataStoreType(); writeCnt = 0; } } diff --git a/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/txchain/TxchainDomWrite.java b/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/txchain/TxchainDomWrite.java index 97d9222809..7e8c6aab60 100644 --- a/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/txchain/TxchainDomWrite.java +++ b/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/txchain/TxchainDomWrite.java @@ -71,6 +71,7 @@ public class TxchainDomWrite extends DatastoreAbstractWriter implements Transact writeCnt++; + // Start performing the operation; submit the transaction at every n-th operation if (writeCnt == writesPerTx) { txSubmitted++; Futures.addCallback(tx.submit(), new FutureCallback() { -- 2.36.6