X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=benchmark%2Fdsbenchmark%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fdsbenchmark%2Fsimpletx%2FSimpletxBaRead.java;h=a879e8e2ee9b6da36c1f6fd8e8ad09c567c0a7e7;hb=d151bb0f9c43d28b5aa2acf60ef046733613e16a;hp=bc43d46012a7b898be69bd027cea2f2000e1f3e6;hpb=29bb6776c62775c5dc73789e4a63d1dc12cc8a64;p=controller.git diff --git a/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/simpletx/SimpletxBaRead.java b/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/simpletx/SimpletxBaRead.java index bc43d46012..a879e8e2ee 100644 --- a/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/simpletx/SimpletxBaRead.java +++ b/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/simpletx/SimpletxBaRead.java @@ -5,18 +5,15 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - package org.opendaylight.dsbenchmark.simpletx; - -import com.google.common.base.Optional; -import com.google.common.util.concurrent.CheckedFuture; - -import org.opendaylight.controller.md.sal.binding.api.DataBroker; -import org.opendaylight.controller.md.sal.binding.api.ReadTransaction; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException; +import com.google.common.util.concurrent.FluentFuture; +import java.util.Optional; +import java.util.concurrent.ExecutionException; import org.opendaylight.dsbenchmark.DatastoreAbstractWriter; +import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.ReadTransaction; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.StartTestInput; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.StartTestInput.DataStore; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.TestExec; @@ -27,21 +24,20 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - public class SimpletxBaRead extends DatastoreAbstractWriter { - private static final Logger LOG = (Logger) LoggerFactory.getLogger(SimpletxBaRead.class); - private DataBroker dataBroker; + private static final Logger LOG = LoggerFactory.getLogger(SimpletxBaRead.class); + private final DataBroker dataBroker; - public SimpletxBaRead(DataBroker dataBroker, int outerListElem, int innerListElem, - long writesPerTx, DataStore dataStore) { + public SimpletxBaRead(final DataBroker dataBroker, final int outerListElem, final int innerListElem, + final long writesPerTx, final DataStore dataStore) { super(StartTestInput.Operation.DELETE, outerListElem, innerListElem, writesPerTx, dataStore); this.dataBroker = dataBroker; - LOG.info("Created SimpletxBaRead"); + LOG.debug("Created SimpletxBaRead"); } @Override public void createList() { - LOG.info("DatastoreRead: creating data in the data store"); + LOG.debug("DatastoreRead: creating data in the data store"); // Dump the whole list into the data store in a single transaction // with PUTs on the transaction SimpletxBaWrite dd = new SimpletxBaWrite(dataBroker, @@ -56,48 +52,45 @@ public class SimpletxBaRead extends DatastoreAbstractWriter { @Override public void executeList() { - ReadTransaction tx = dataBroker.newReadOnlyTransaction(); + final LogicalDatastoreType dsType = getDataStoreType(); - for (long l = 0; l < outerListElem; l++) { + try (ReadTransaction tx = dataBroker.newReadOnlyTransaction()) { + for (long l = 0; l < outerListElem; l++) { - OuterList outerList; - InstanceIdentifier iid = InstanceIdentifier.create(TestExec.class) - .child(OuterList.class, new OuterListKey((int)l)); - Optional optionalDataObject; - CheckedFuture, ReadFailedException> submitFuture = tx.read(LogicalDatastoreType.CONFIGURATION, iid); - try { - optionalDataObject = submitFuture.checkedGet(); - if (optionalDataObject != null && optionalDataObject.isPresent()) { - outerList = optionalDataObject.get(); + InstanceIdentifier iid = InstanceIdentifier.create(TestExec.class) + .child(OuterList.class, new OuterListKey((int)l)); + Optional optionalDataObject; + FluentFuture> submitFuture = tx.read(dsType, iid); + try { + optionalDataObject = submitFuture.get(); + if (optionalDataObject != null && optionalDataObject.isPresent()) { + OuterList outerList = optionalDataObject.get(); - String[] objectsArray = new String[outerList.getInnerList().size()]; + String[] objectsArray = new String[outerList.getInnerList().size()]; - //LOG.info("innerList element: " + objectsArray ); - for (InnerList innerList : outerList.getInnerList()) { - if (objectsArray[innerList.getName()] != null) { - LOG.error("innerList: DUPLICATE name: {}, value: {}", innerList.getName(), innerList.getValue()); + for (InnerList innerList : outerList.getInnerList().values()) { + if (objectsArray[innerList.getName()] != null) { + LOG.error("innerList: DUPLICATE name: {}, value: {}", innerList.getName(), + innerList.getValue()); + } + objectsArray[innerList.getName()] = innerList.getValue(); } - objectsArray[innerList.getName()] = innerList.getValue(); - // LOG.info("innerList: name: {}, value: {}", innerList.getName(), innerList.getValue()); - } - boolean foundAll = true; - for (int i = 0; i < outerList.getInnerList().size(); i++) { - String itemStr = objectsArray[i]; - if (!itemStr.contentEquals("Item-" + String.valueOf(l) + "-" + String.valueOf(i))) { - foundAll = false; - LOG.error("innerList: name: {}, value: {}", i, itemStr); - break; + for (int i = 0; i < outerList.getInnerList().size(); i++) { + String itemStr = objectsArray[i]; + if (!itemStr.contentEquals("Item-" + l + "-" + i)) { + LOG.error("innerList: name: {}, value: {}", i, itemStr); + break; + } } + txOk++; + } else { + txError++; } - txOk++; - } else { + } catch (final InterruptedException | ExecutionException e) { + LOG.warn("failed to ....", e); txError++; } - } catch (ReadFailedException e) { - LOG.warn("failed to ....", e); - txError++; } } - } }