<packaging>jar</packaging>
<properties>
- <jmh.version>1.15</jmh.version>
+ <jmh.version>1.21</jmh.version>
<uberjar.name>benchmarks</uberjar.name>
</properties>
import java.util.Optional;
import java.util.concurrent.ExecutionException;
import java.util.stream.Collectors;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
import org.opendaylight.mdsal.binding.api.DataBroker;
import org.opendaylight.mdsal.binding.api.WriteTransaction;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.hc.test.rev150105.ContainerWithList;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.hc.test.rev150105.SimpleContainer;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.hc.test.rev150105.container.with.list.ListInContainer;
// Commit based on frequency set
if (counter % submitFrequency == 0) {
try {
- tx.submit().get();
+ tx.commit().get();
} catch (InterruptedException | ExecutionException e) {
throw new RuntimeException("Submit failed", e);
}
package io.fd.honeycomb.benchmark.data;
+import com.google.inject.AbstractModule;
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+import com.google.inject.Key;
+import com.google.inject.Module;
import com.google.inject.multibindings.Multibinder;
import com.google.inject.name.Names;
import io.fd.honeycomb.benchmark.util.DataProvider;
import java.util.Optional;
import java.util.concurrent.ExecutionException;
import java.util.stream.Collectors;
-import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.eclipse.jdt.annotation.NonNull;
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.hc.test.rev150105.ContainerWithList;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.hc.test.rev150105.ContainerWithListBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.hc.test.rev150105.SimpleContainer;
private List<Reader<?, ?>> noopReaders = new ArrayList<>();
private DataBroker dataBroker;
private long counter = 0;
- private ReadOnlyTransaction tx;
+ private @NonNull ReadTransaction tx;
private HoneycombConfiguration instance;
@Setup(Level.Iteration)
private final List<DataProvider> values;
private int valueSize;
- public MultiValueDataProvider(final List<DataProvider> values) {
+ MultiValueDataProvider(final List<DataProvider> values) {
// Wrap as array list so that index lookup is fast
this.values = Lists.newArrayList(values);
this.valueSize = values.size();
package io.fd.honeycomb.benchmark.util;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
import org.opendaylight.mdsal.binding.api.WriteTransaction;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
void submit(LogicalDatastoreType type, WriteTransaction tx, InstanceIdentifier<?> id, DataObject data);
- public static DataSubmitter from(String operation) {
+ static DataSubmitter from(String operation) {
switch (operation) {
case "put": {
return (type, tx, id, data) -> tx.put(type, (InstanceIdentifier) id, data);
package io.fd.honeycomb.benchmark.util;
import io.fd.honeycomb.translate.write.WriteContext;
-import io.fd.honeycomb.translate.write.WriteFailedException;
import io.fd.honeycomb.translate.write.Writer;
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
public void processModification(@Nonnull final InstanceIdentifier<? extends DataObject> id,
@Nullable final DataObject dataBefore,
@Nullable final DataObject dataAfter,
- @Nonnull final WriteContext ctx) throws WriteFailedException {
+ @Nonnull final WriteContext ctx) {
counter++;
// NOOP
}
package io.fd.honeycomb.benchmark.util;
import io.fd.honeycomb.translate.read.ReadContext;
-import io.fd.honeycomb.translate.read.ReadFailedException;
import io.fd.honeycomb.translate.read.Reader;
import java.util.Optional;
import javax.annotation.Nonnull;
}
@Override
- public boolean isPresent(final InstanceIdentifier<T> id, final T built, final ReadContext ctx) {
+ public boolean isPresent(@Nonnull final InstanceIdentifier<T> id, @Nonnull final T built,
+ @Nonnull final ReadContext ctx) {
return true;
}
@Nonnull
@Override
public Optional<? extends DataObject> read(@Nonnull final InstanceIdentifier<? extends DataObject> id,
- @Nonnull final ReadContext ctx) throws ReadFailedException {
+ @Nonnull final ReadContext ctx) {
counter++;
return Optional.of(data.getData(counter));
}
@Override
public void readCurrentAttributes(@Nonnull final InstanceIdentifier<T> id, @Nonnull final B builder,
- @Nonnull final ReadContext ctx)
- throws ReadFailedException {
+ @Nonnull final ReadContext ctx) {
throw new UnsupportedOperationException("No read current attrs!");
}