diff --git a/driver-http/src/main/java/io/nosqlbench/activitytype/cmds/ReadyHttpOp.java b/driver-http/src/main/java/io/nosqlbench/activitytype/cmds/ReadyHttpOp.java index de3243449..0e3d1c4f8 100644 --- a/driver-http/src/main/java/io/nosqlbench/activitytype/cmds/ReadyHttpOp.java +++ b/driver-http/src/main/java/io/nosqlbench/activitytype/cmds/ReadyHttpOp.java @@ -1,6 +1,7 @@ package io.nosqlbench.activitytype.cmds; import io.nosqlbench.engine.api.activityconfig.yaml.OpTemplate; +import io.nosqlbench.engine.api.activityimpl.OpDispenser; import io.nosqlbench.engine.api.templating.CommandTemplate; import io.nosqlbench.nb.api.errors.BasicError; @@ -13,10 +14,9 @@ import java.time.temporal.ChronoUnit; import java.util.List; import java.util.Map; import java.util.Optional; -import java.util.function.LongFunction; import java.util.regex.Pattern; -public class ReadyHttpOp implements LongFunction { +public class ReadyHttpOp implements OpDispenser { private final CommandTemplate propertyTemplate; public static final String DEFAULT_OK_BODY = ".+?"; diff --git a/driver-http/src/main/java/io/nosqlbench/activitytype/http/HttpAction.java b/driver-http/src/main/java/io/nosqlbench/activitytype/http/HttpAction.java index 31e21abbe..7e0825378 100644 --- a/driver-http/src/main/java/io/nosqlbench/activitytype/http/HttpAction.java +++ b/driver-http/src/main/java/io/nosqlbench/activitytype/http/HttpAction.java @@ -6,6 +6,7 @@ import io.nosqlbench.engine.api.activityapi.core.SyncAction; import io.nosqlbench.engine.api.activityapi.errorhandling.modular.ErrorDetail; import io.nosqlbench.engine.api.activityapi.planning.OpSequence; import io.nosqlbench.engine.api.activityimpl.ActivityDef; +import io.nosqlbench.engine.api.activityimpl.OpDispenser; import io.nosqlbench.nb.api.errors.BasicError; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -29,7 +30,7 @@ public class HttpAction implements SyncAction { private final int slot; private int maxTries = 1; - private OpSequence> sequencer; + private OpSequence> sequencer; private HttpClient client; private final HttpResponse.BodyHandler bodyreader = HttpResponse.BodyHandlers.ofString(); diff --git a/driver-http/src/main/java/io/nosqlbench/activitytype/http/HttpActivity.java b/driver-http/src/main/java/io/nosqlbench/activitytype/http/HttpActivity.java index 556938a04..1dd776ed4 100644 --- a/driver-http/src/main/java/io/nosqlbench/activitytype/http/HttpActivity.java +++ b/driver-http/src/main/java/io/nosqlbench/activitytype/http/HttpActivity.java @@ -10,6 +10,7 @@ import io.nosqlbench.engine.api.activityapi.core.ActivityDefObserver; import io.nosqlbench.engine.api.activityapi.errorhandling.modular.NBErrorHandler; import io.nosqlbench.engine.api.activityapi.planning.OpSequence; import io.nosqlbench.engine.api.activityimpl.ActivityDef; +import io.nosqlbench.engine.api.activityimpl.OpDispenser; import io.nosqlbench.engine.api.activityimpl.SimpleActivity; import io.nosqlbench.engine.api.metrics.ActivityMetrics; import org.apache.logging.log4j.LogManager; @@ -17,7 +18,6 @@ import org.apache.logging.log4j.Logger; import java.net.http.HttpClient; import java.util.function.Function; -import java.util.function.LongFunction; public class HttpActivity extends SimpleActivity implements Activity, ActivityDefObserver { private final static Logger logger = LogManager.getLogger(HttpActivity.class); @@ -37,7 +37,7 @@ public class HttpActivity extends SimpleActivity implements Activity, ActivityDe public Timer resultSuccessTimer; public Histogram statusCodeHisto; - private OpSequence> sequencer; + private OpSequence> sequencer; private boolean diagnosticsEnabled; private long timeout = Long.MAX_VALUE; private NBErrorHandler errorhandler; @@ -129,7 +129,7 @@ public class HttpActivity extends SimpleActivity implements Activity, ActivityDe return builder.build(); } - public OpSequence> getSequencer() { + public OpSequence> getSequencer() { return sequencer; } diff --git a/driver-http/src/main/java/io/nosqlbench/activitytype/http/async/HttpAsyncAction.java b/driver-http/src/main/java/io/nosqlbench/activitytype/http/async/HttpAsyncAction.java index 7f22da4de..ec6f97813 100644 --- a/driver-http/src/main/java/io/nosqlbench/activitytype/http/async/HttpAsyncAction.java +++ b/driver-http/src/main/java/io/nosqlbench/activitytype/http/async/HttpAsyncAction.java @@ -6,6 +6,7 @@ import io.nosqlbench.activitytype.http.HttpActivity; import io.nosqlbench.engine.api.activityapi.core.BaseAsyncAction; import io.nosqlbench.engine.api.activityapi.core.ops.fluent.opfacets.TrackedOp; import io.nosqlbench.engine.api.activityapi.planning.OpSequence; +import io.nosqlbench.engine.api.activityimpl.OpDispenser; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -18,7 +19,7 @@ public class HttpAsyncAction extends BaseAsyncAction private final static Logger logger = LogManager.getLogger(HttpAsyncAction.class); - private OpSequence> sequencer; + private OpSequence> sequencer; private HttpClient client; private CompletableFuture> future; diff --git a/driver-jdbc/src/main/java/io/nosqlbench/activitytype/jdbc/api/JDBCActivity.java b/driver-jdbc/src/main/java/io/nosqlbench/activitytype/jdbc/api/JDBCActivity.java index 7d3c9ffe0..baa42302e 100644 --- a/driver-jdbc/src/main/java/io/nosqlbench/activitytype/jdbc/api/JDBCActivity.java +++ b/driver-jdbc/src/main/java/io/nosqlbench/activitytype/jdbc/api/JDBCActivity.java @@ -8,6 +8,7 @@ import com.zaxxer.hikari.HikariDataSource; import io.nosqlbench.activitytype.jdbc.impl.ReadyJDBCOp; import io.nosqlbench.engine.api.activityapi.planning.OpSequence; import io.nosqlbench.engine.api.activityimpl.ActivityDef; +import io.nosqlbench.engine.api.activityimpl.OpDispenser; import io.nosqlbench.engine.api.activityimpl.SimpleActivity; import io.nosqlbench.engine.api.metrics.ActivityMetrics; import io.nosqlbench.engine.api.metrics.ExceptionCountMetrics; @@ -17,7 +18,6 @@ import org.apache.logging.log4j.Logger; import javax.sql.DataSource; import java.sql.SQLException; import java.util.concurrent.ConcurrentHashMap; -import java.util.function.LongFunction; // This should not be exposed as as service directly unless it can // be used with a modular JDBC configuration. @@ -31,7 +31,7 @@ public abstract class JDBCActivity extends SimpleActivity { private SQLExceptionCountMetrics sqlExceptionCount; protected DataSource dataSource; - protected OpSequence> opSequence; + protected OpSequence> opSequence; public JDBCActivity(ActivityDef activityDef) { super(activityDef); @@ -91,7 +91,7 @@ public abstract class JDBCActivity extends SimpleActivity { return dataSource; } - public OpSequence> getOpSequence() { + public OpSequence> getOpSequence() { return opSequence; } diff --git a/driver-jdbc/src/main/java/io/nosqlbench/activitytype/jdbc/impl/JDBCAction.java b/driver-jdbc/src/main/java/io/nosqlbench/activitytype/jdbc/impl/JDBCAction.java index b610932df..da220fff1 100644 --- a/driver-jdbc/src/main/java/io/nosqlbench/activitytype/jdbc/impl/JDBCAction.java +++ b/driver-jdbc/src/main/java/io/nosqlbench/activitytype/jdbc/impl/JDBCAction.java @@ -4,6 +4,7 @@ import com.codahale.metrics.Timer; import io.nosqlbench.activitytype.jdbc.api.JDBCActivity; import io.nosqlbench.engine.api.activityapi.core.SyncAction; import io.nosqlbench.engine.api.activityapi.planning.OpSequence; +import io.nosqlbench.engine.api.activityimpl.OpDispenser; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -17,7 +18,7 @@ public class JDBCAction implements SyncAction { private static final Logger LOGGER = LogManager.getLogger(JDBCAction.class); private final JDBCActivity activity; - private OpSequence> sequencer; + private OpSequence> sequencer; public JDBCAction(JDBCActivity a, int slot) { activity = a; diff --git a/driver-jdbc/src/main/java/io/nosqlbench/activitytype/jdbc/impl/ReadyJDBCOp.java b/driver-jdbc/src/main/java/io/nosqlbench/activitytype/jdbc/impl/ReadyJDBCOp.java index 4734e59ac..74258d559 100644 --- a/driver-jdbc/src/main/java/io/nosqlbench/activitytype/jdbc/impl/ReadyJDBCOp.java +++ b/driver-jdbc/src/main/java/io/nosqlbench/activitytype/jdbc/impl/ReadyJDBCOp.java @@ -1,14 +1,13 @@ package io.nosqlbench.activitytype.jdbc.impl; import io.nosqlbench.engine.api.activityconfig.yaml.OpTemplate; +import io.nosqlbench.engine.api.activityimpl.OpDispenser; import io.nosqlbench.virtdata.core.bindings.BindingsTemplate; import io.nosqlbench.virtdata.core.templates.ParsedTemplate; import io.nosqlbench.virtdata.core.templates.StringBindings; import io.nosqlbench.virtdata.core.templates.StringBindingsTemplate; -import java.util.function.LongFunction; - -public class ReadyJDBCOp implements LongFunction { +public class ReadyJDBCOp implements OpDispenser { private final StringBindings bindings; public ReadyJDBCOp(OpTemplate stmtDef) { diff --git a/driver-jmx/src/main/java/io/nosqlbench/driver/jmx/JMXAction.java b/driver-jmx/src/main/java/io/nosqlbench/driver/jmx/JMXAction.java index 457c70327..dbd32b7ef 100644 --- a/driver-jmx/src/main/java/io/nosqlbench/driver/jmx/JMXAction.java +++ b/driver-jmx/src/main/java/io/nosqlbench/driver/jmx/JMXAction.java @@ -4,6 +4,7 @@ import io.nosqlbench.driver.jmx.ops.JmxOp; import io.nosqlbench.engine.api.activityapi.core.SyncAction; import io.nosqlbench.engine.api.activityapi.planning.OpSequence; import io.nosqlbench.engine.api.activityimpl.ActivityDef; +import io.nosqlbench.engine.api.activityimpl.OpDispenser; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -16,7 +17,7 @@ public class JMXAction implements SyncAction { private final ActivityDef activityDef; private final int slot; private final JMXActivity activity; - private OpSequence> sequencer; + private OpSequence> sequencer; public JMXAction(ActivityDef activityDef, int slot, JMXActivity activity) { this.activityDef = activityDef; diff --git a/driver-jmx/src/main/java/io/nosqlbench/driver/jmx/JMXActivity.java b/driver-jmx/src/main/java/io/nosqlbench/driver/jmx/JMXActivity.java index 5948eacbe..7fbe758e2 100644 --- a/driver-jmx/src/main/java/io/nosqlbench/driver/jmx/JMXActivity.java +++ b/driver-jmx/src/main/java/io/nosqlbench/driver/jmx/JMXActivity.java @@ -4,15 +4,15 @@ import io.nosqlbench.driver.jmx.ops.JmxOp; import io.nosqlbench.engine.api.activityapi.core.Activity; import io.nosqlbench.engine.api.activityapi.planning.OpSequence; import io.nosqlbench.engine.api.activityimpl.ActivityDef; +import io.nosqlbench.engine.api.activityimpl.OpDispenser; import io.nosqlbench.engine.api.activityimpl.SimpleActivity; import io.nosqlbench.engine.api.util.SSLKsFactory; import javax.net.ssl.SSLContext; -import java.util.function.LongFunction; public class JMXActivity extends SimpleActivity implements Activity { - private OpSequence> sequence; + private OpSequence> sequence; private SSLContext sslContext; public JMXActivity(ActivityDef activityDef) { @@ -37,7 +37,7 @@ public class JMXActivity extends SimpleActivity implements Activity { return sslContext; } - public OpSequence> getSequencer() { + public OpSequence> getSequencer() { return sequence; } } diff --git a/driver-jmx/src/main/java/io/nosqlbench/driver/jmx/ReadyJmxOp.java b/driver-jmx/src/main/java/io/nosqlbench/driver/jmx/ReadyJmxOp.java index 7fafac0ad..5cee26350 100644 --- a/driver-jmx/src/main/java/io/nosqlbench/driver/jmx/ReadyJmxOp.java +++ b/driver-jmx/src/main/java/io/nosqlbench/driver/jmx/ReadyJmxOp.java @@ -4,6 +4,7 @@ import io.nosqlbench.driver.jmx.ops.JMXExplainOperation; import io.nosqlbench.driver.jmx.ops.JMXPrintOperation; import io.nosqlbench.driver.jmx.ops.JMXReadOperation; import io.nosqlbench.driver.jmx.ops.JmxOp; +import io.nosqlbench.engine.api.activityimpl.OpDispenser; import io.nosqlbench.engine.api.templating.CommandTemplate; import javax.management.MalformedObjectNameException; @@ -16,9 +17,8 @@ import java.net.MalformedURLException; import java.util.HashMap; import java.util.Map; import java.util.Optional; -import java.util.function.LongFunction; -public class ReadyJmxOp implements LongFunction { +public class ReadyJmxOp implements OpDispenser { private final CommandTemplate command; diff --git a/driver-pulsar/src/main/java/io/nosqlbench/driver/pulsar/PulsarActivity.java b/driver-pulsar/src/main/java/io/nosqlbench/driver/pulsar/PulsarActivity.java index b720a59af..cfef64528 100644 --- a/driver-pulsar/src/main/java/io/nosqlbench/driver/pulsar/PulsarActivity.java +++ b/driver-pulsar/src/main/java/io/nosqlbench/driver/pulsar/PulsarActivity.java @@ -8,12 +8,12 @@ import io.nosqlbench.engine.api.activityapi.core.ActivityDefObserver; import io.nosqlbench.engine.api.activityapi.errorhandling.modular.NBErrorHandler; import io.nosqlbench.engine.api.activityapi.planning.OpSequence; import io.nosqlbench.engine.api.activityimpl.ActivityDef; +import io.nosqlbench.engine.api.activityimpl.OpDispenser; import io.nosqlbench.engine.api.activityimpl.SimpleActivity; import io.nosqlbench.engine.api.metrics.ActivityMetrics; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import java.util.function.LongFunction; import java.util.function.Supplier; public class PulsarActivity extends SimpleActivity implements ActivityDefObserver { @@ -28,7 +28,7 @@ public class PulsarActivity extends SimpleActivity implements ActivityDefObserve private PulsarNBClientConf clientConf; - private OpSequence> sequencer; + private OpSequence> sequencer; // private PulsarClient activityClient; private Supplier clientSupplier; @@ -65,7 +65,7 @@ public class PulsarActivity extends SimpleActivity implements ActivityDefObserve super.onActivityDefUpdate(activityDef); } - public OpSequence> getSequencer() { + public OpSequence> getSequencer() { return sequencer; } diff --git a/driver-pulsar/src/main/java/io/nosqlbench/driver/pulsar/ops/ReadyPulsarOp.java b/driver-pulsar/src/main/java/io/nosqlbench/driver/pulsar/ops/ReadyPulsarOp.java index 82272150f..6ef854c7a 100644 --- a/driver-pulsar/src/main/java/io/nosqlbench/driver/pulsar/ops/ReadyPulsarOp.java +++ b/driver-pulsar/src/main/java/io/nosqlbench/driver/pulsar/ops/ReadyPulsarOp.java @@ -1,10 +1,10 @@ package io.nosqlbench.driver.pulsar.ops; -import io.nosqlbench.driver.pulsar.util.PulsarActivityUtil; import io.nosqlbench.driver.pulsar.PulsarSpace; import io.nosqlbench.driver.pulsar.PulsarSpaceCache; -import io.nosqlbench.driver.pulsar.util.PulsarNBClientConf; +import io.nosqlbench.driver.pulsar.util.PulsarActivityUtil; import io.nosqlbench.engine.api.activityconfig.yaml.OpTemplate; +import io.nosqlbench.engine.api.activityimpl.OpDispenser; import io.nosqlbench.engine.api.scoping.ScopedSupplier; import io.nosqlbench.engine.api.templating.CommandTemplate; import org.apache.pulsar.client.api.Producer; @@ -13,7 +13,7 @@ import org.apache.pulsar.client.api.Schema; import java.util.function.LongFunction; import java.util.function.Supplier; -public class ReadyPulsarOp implements LongFunction { +public class ReadyPulsarOp implements OpDispenser { private final CommandTemplate cmdTpl; private final PulsarSpace clientSpace; diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/OpDispenser.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/OpDispenser.java new file mode 100644 index 000000000..3fc806229 --- /dev/null +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/OpDispenser.java @@ -0,0 +1,6 @@ +package io.nosqlbench.engine.api.activityimpl; + +import java.util.function.LongFunction; + +public interface OpDispenser extends LongFunction { +} diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/SimpleActivity.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/SimpleActivity.java index c29acd436..909abf921 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/SimpleActivity.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/SimpleActivity.java @@ -409,9 +409,9 @@ public class SimpleActivity implements Activity, ProgressCapable { * @param * @return */ - protected OpSequence> createOpSequenceFromCommands(Function> opinit) { + protected OpSequence> createOpSequenceFromCommands(Function> opinit) { Function f = CommandTemplate::new; - Function> opTemplateOFunction = f.andThen(opinit); + Function> opTemplateOFunction = f.andThen(opinit); return createOpSequence(opTemplateOFunction); } @@ -438,14 +438,14 @@ public class SimpleActivity implements Activity, ProgressCapable { * @param A holder for an executable operation for the native driver used by this activity. * @return The sequence of operations as determined by filtering and ratios */ - protected OpSequence> createOpSequence(Function> opinit) { + protected OpSequence> createOpSequence(Function> opinit) { String tagfilter = activityDef.getParams().getOptionalString("tags").orElse(""); StrInterpolator interp = new StrInterpolator(activityDef); SequencerType sequencerType = getParams() .getOptionalString("seq") .map(SequencerType::valueOf) .orElse(SequencerType.bucket); - SequencePlanner> planner = new SequencePlanner<>(sequencerType); + SequencePlanner> planner = new SequencePlanner<>(sequencerType); StmtsDocList stmtsDocList = null; @@ -471,7 +471,7 @@ public class SimpleActivity implements Activity, ProgressCapable { for (int i = 0; i < stmts.size(); i++) { long ratio = ratios.get(i); OpTemplate optemplate = stmts.get(i); - LongFunction driverSpecificReadyOp = opinit.apply(optemplate); + OpDispenser driverSpecificReadyOp = opinit.apply(optemplate); planner.addOp(driverSpecificReadyOp, ratio); }