X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=benchmark%2Fdsbenchmark%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fdsbenchmark%2Fsimpletx%2FSimpletxDomRead.java;h=2ee2aee84c2df3173755ef07cb9457615e7a31c8;hb=0b7a749d896b17209dfe9e65c7732d7a6212daa3;hp=74f9d8e2a015e3ca6635b678a617e3e34bf95011;hpb=625723b875800d5c421061f09cd5f387ccb59e62;p=controller.git diff --git a/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/simpletx/SimpletxDomRead.java b/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/simpletx/SimpletxDomRead.java index 74f9d8e2a0..2ee2aee84c 100644 --- a/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/simpletx/SimpletxDomRead.java +++ b/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/simpletx/SimpletxDomRead.java @@ -11,7 +11,6 @@ package org.opendaylight.dsbenchmark.simpletx; import com.google.common.base.Optional; import com.google.common.util.concurrent.CheckedFuture; - import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException; import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker; @@ -23,6 +22,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchm import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.test.exec.OuterList; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -32,17 +32,17 @@ public class SimpletxDomRead extends DatastoreAbstractWriter { private static final Logger LOG = LoggerFactory.getLogger(SimpletxDomRead.class); private final DOMDataBroker domDataBroker; - public SimpletxDomRead(DOMDataBroker domDataBroker, int outerListElem, - int innerListElem, long writesPerTx, DataStore dataStore) { + public SimpletxDomRead(final DOMDataBroker domDataBroker, final int outerListElem, + final int innerListElem, final long writesPerTx, final DataStore dataStore) { super(StartTestInput.Operation.DELETE, outerListElem, innerListElem, writesPerTx, dataStore); this.domDataBroker = domDataBroker; - LOG.info("Created simpleTxDomRead"); + LOG.debug("Created simpleTxDomRead"); } @Override public void createList() { - LOG.info("SimpletxDomRead: creating data in the data store"); + LOG.debug("SimpletxDomRead: creating data in the data store"); // Dump the whole list into the data store in a single transaction // with PUTs on the transaction SimpletxDomWrite dd = new SimpletxDomWrite(domDataBroker, @@ -57,35 +57,30 @@ public class SimpletxDomRead extends DatastoreAbstractWriter { @Override public void executeList() { - org.opendaylight.yangtools.yang.common.QName olId = QName.create(OuterList.QNAME, "id"); - DOMDataReadOnlyTransaction tx = domDataBroker.newReadOnlyTransaction(); - - for (long l = 0; l < outerListElem; l++) { - NormalizedNode ret = null; + final LogicalDatastoreType dsType = getDataStoreType(); + final org.opendaylight.yangtools.yang.common.QName olId = QName.create(OuterList.QNAME, "id"); + final YangInstanceIdentifier pid = + YangInstanceIdentifier.builder().node(TestExec.QNAME).node(OuterList.QNAME).build(); - YangInstanceIdentifier yid = YangInstanceIdentifier.builder() - .node(TestExec.QNAME) - .node(OuterList.QNAME) - .nodeWithKey(OuterList.QNAME, olId, l) - .build(); - Optional> optionalDataObject; - CheckedFuture>, ReadFailedException> submitFuture = - tx.read(LogicalDatastoreType.CONFIGURATION, yid); - try { - optionalDataObject = submitFuture.checkedGet(); - if (optionalDataObject != null && optionalDataObject.isPresent()) { - ret = optionalDataObject.get(); - LOG.info("/n" + String.valueOf(ret)); - txOk++; - } else { + try (DOMDataReadOnlyTransaction tx = domDataBroker.newReadOnlyTransaction()) { + for (int l = 0; l < outerListElem; l++) { + YangInstanceIdentifier yid = pid.node(new NodeIdentifierWithPredicates(OuterList.QNAME, olId, l)); + CheckedFuture>, ReadFailedException> submitFuture = tx.read(dsType, yid); + try { + Optional> optionalDataObject = submitFuture.checkedGet(); + if (optionalDataObject != null && optionalDataObject.isPresent()) { + NormalizedNode ret = optionalDataObject.get(); + LOG.trace("optionalDataObject is {}", ret); + txOk++; + } else { + txError++; + LOG.warn("optionalDataObject is either null or .isPresent is false"); + } + } catch (final ReadFailedException e) { + LOG.warn("failed to ....", e); txError++; - LOG.info("In the else part"); } - } catch (ReadFailedException e) { - LOG.warn("failed to ....", e); - txError++; } } } - }