diff --git a/mvn-defaults/pom.xml b/mvn-defaults/pom.xml
index eed1e26fe..31c1002e2 100644
--- a/mvn-defaults/pom.xml
+++ b/mvn-defaults/pom.xml
@@ -835,6 +835,22 @@
nosqlbench.io
https://nosqlbench.io/
+
+ Madhavan Sridharan
+ nosqlbench.io
+ https://nosqlbench.io/
+
+
+ Dave Fisher
+ nosqlbench.io
+ https://nosqlbench.io/
+
+
+ Mark Wolters
+ nosqlbench.io
+ https://nosqlbench.io/
+
+
diff --git a/nb-adapters/adapter-amqp/src/main/java/io/nosqlbench/adapter/amqp/AmqpOpMapper.java b/nb-adapters/adapter-amqp/src/main/java/io/nosqlbench/adapter/amqp/AmqpOpMapper.java
index 7c1fe2c41..c50704df8 100644
--- a/nb-adapters/adapter-amqp/src/main/java/io/nosqlbench/adapter/amqp/AmqpOpMapper.java
+++ b/nb-adapters/adapter-amqp/src/main/java/io/nosqlbench/adapter/amqp/AmqpOpMapper.java
@@ -43,7 +43,7 @@ public class AmqpOpMapper implements OpMapper {
}
@Override
- public OpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceInitF) {
+ public OpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceF) {
//public OpDispenser apply(ParsedOp op, LongFunction spaceInitF) {
int spaceName = op.getStaticConfigOr("space", 0);
diff --git a/nb-adapters/adapter-azure-aisearch/src/main/java/io/nosqlbench/adapter/azureaisearch/AzureAISearchOpMapper.java b/nb-adapters/adapter-azure-aisearch/src/main/java/io/nosqlbench/adapter/azureaisearch/AzureAISearchOpMapper.java
index 026c084d7..a505e2a40 100644
--- a/nb-adapters/adapter-azure-aisearch/src/main/java/io/nosqlbench/adapter/azureaisearch/AzureAISearchOpMapper.java
+++ b/nb-adapters/adapter-azure-aisearch/src/main/java/io/nosqlbench/adapter/azureaisearch/AzureAISearchOpMapper.java
@@ -57,12 +57,12 @@ public class AzureAISearchOpMapper implements OpMapper,
* @param adapterC
* @param op
* The {@link ParsedOp} to be evaluated
- * @param spaceInitF
+ * @param spaceF
* @return The correct {@link AzureAISearchBaseOpDispenser} subclass based on
* the op type
*/
@Override
- public OpDispenser> apply(NBComponent adapterC, ParsedOp op, LongFunction spaceInitF) {
+ public OpDispenser> apply(NBComponent adapterC, ParsedOp op, LongFunction spaceF) {
TypeAndTarget typeAndTarget = op.getTypeAndTarget(AzureAISearchOpType.class,
String.class, "type", "target");
diff --git a/nb-adapters/adapter-azure-aisearch/src/main/java/io/nosqlbench/adapter/azureaisearch/AzureAISearchSpace.java b/nb-adapters/adapter-azure-aisearch/src/main/java/io/nosqlbench/adapter/azureaisearch/AzureAISearchSpace.java
index 512acf578..15aad8c92 100644
--- a/nb-adapters/adapter-azure-aisearch/src/main/java/io/nosqlbench/adapter/azureaisearch/AzureAISearchSpace.java
+++ b/nb-adapters/adapter-azure-aisearch/src/main/java/io/nosqlbench/adapter/azureaisearch/AzureAISearchSpace.java
@@ -79,21 +79,23 @@ public class AzureAISearchSpace extends BaseSpace {
private SearchIndexClient createSearchClients() {
String uri = cfg.get("endpoint");
- var requiredToken = cfg.getOptional("token_file").map(Paths::get).map(tokenFilePath -> {
- try {
- return Files.readAllLines(tokenFilePath).getFirst();
- } catch (IOException e) {
- String error = "Error while reading token from file:" + tokenFilePath;
- logger.error(error, e);
- throw new RuntimeException(e);
- }
- }).orElseGet(() -> cfg.getOptional("token").orElseThrow(() -> new RuntimeException(
- "You must provide either a 'token_file' or a 'token' to configure a Azure AI Search client")));
+ String requiredToken = cfg.getOptional("token_file").map(Paths::get).map(tokenFilePath -> {
+ try {
+ return Files.readAllLines(tokenFilePath).getFirst();
+ } catch (IOException e) {
+ String error = "Error while reading token from file:" + tokenFilePath;
+ logger.error(error, e);
+ throw new RuntimeException(e);
+ }
+ }).orElseGet(() -> cfg.getOptional("token").orElse(null));
+// .orElseThrow(() -> new RuntimeException(
+// "You must provide either a 'token_file' or a 'token' to configure a Azure AI Search client")));
logger.info(() -> "Creating new Azure AI Search Client with (masked) token/key ["
+ AzureAISearchAdapterUtils.maskDigits(requiredToken) + "], uri/endpoint [" + uri + "]");
- var searchIndexClientBuilder = new SearchIndexClientBuilder().endpoint(uri);
+ SearchIndexClientBuilder searchIndexClientBuilder = new SearchIndexClientBuilder().endpoint(
+ uri);
if (!requiredToken.isBlank()) {
searchIndexClientBuilder = searchIndexClientBuilder.credential(new AzureKeyCredential(requiredToken));
} else {
diff --git a/nb-adapters/adapter-azure-aisearch/src/main/java/io/nosqlbench/adapter/azureaisearch/opsdispenser/AzureAISearchUploadDocumentsOpDispenser.java b/nb-adapters/adapter-azure-aisearch/src/main/java/io/nosqlbench/adapter/azureaisearch/opsdispenser/AzureAISearchUploadDocumentsOpDispenser.java
index 60e5f0f36..e309fd892 100644
--- a/nb-adapters/adapter-azure-aisearch/src/main/java/io/nosqlbench/adapter/azureaisearch/opsdispenser/AzureAISearchUploadDocumentsOpDispenser.java
+++ b/nb-adapters/adapter-azure-aisearch/src/main/java/io/nosqlbench/adapter/azureaisearch/opsdispenser/AzureAISearchUploadDocumentsOpDispenser.java
@@ -66,7 +66,7 @@ public class AzureAISearchUploadDocumentsOpDispenser extends AzureAISearchBaseOp
private LongFunction buildFieldsStruct(LongFunction fieldsFunction) {
return l -> {
Map fields = fieldsFunction.apply(l);
- var doc = new SearchDocument();
+ SearchDocument doc = new SearchDocument();
fields.forEach((key, val) -> {
doc.put(key, val);
});
diff --git a/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/Cqld4DriverAdapter.java b/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/Cqld4DriverAdapter.java
index d7a4cc85f..afed2d6f4 100644
--- a/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/Cqld4DriverAdapter.java
+++ b/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/Cqld4DriverAdapter.java
@@ -18,6 +18,9 @@ package io.nosqlbench.adapter.cqld4;
import io.nosqlbench.adapter.cqld4.opmappers.Cqld4CoreOpMapper;
import io.nosqlbench.adapter.cqld4.optypes.Cqld4BaseOp;
+import io.nosqlbench.adapter.cqld4.validators.Cqld4SingleRowValidator;
+import io.nosqlbench.adapters.api.activityimpl.uniform.Validator;
+import io.nosqlbench.adapters.api.templating.ParsedOp;
import io.nosqlbench.nb.api.config.standard.NBConfigModel;
import io.nosqlbench.nb.api.config.standard.NBConfiguration;
import io.nosqlbench.adapters.api.activityimpl.OpMapper;
@@ -29,10 +32,7 @@ import io.nosqlbench.nb.annotations.Service;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
import java.util.function.Function;
import java.util.function.LongFunction;
diff --git a/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/CqlD4BatchStmtMapper.java b/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/CqlD4BatchStmtMapper.java
index 1a890cf67..0e84e517c 100644
--- a/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/CqlD4BatchStmtMapper.java
+++ b/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/CqlD4BatchStmtMapper.java
@@ -41,10 +41,10 @@ public class CqlD4BatchStmtMapper> extends Cq
}
@Override
- public OpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceInitF) {
+ public OpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceF) {
ParsedOp subop = op.getAsSubOp("op_template", ParsedOp.SubOpNaming.ParentAndSubKey);
int repeat = op.getStaticValue("repeat");
- OpDispenser od = new Cqld4CqlOpMapper(adapter).apply(adapterC, op, spaceInitF);
+ OpDispenser od = new Cqld4CqlOpMapper(adapter).apply(adapterC, op, spaceF);
return new CqlD4BatchStmtDispenser(adapter, op, repeat, subop, od);
}
diff --git a/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/CqlD4CqlSimpleStmtMapper.java b/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/CqlD4CqlSimpleStmtMapper.java
index 4b82953b6..1721e8a8f 100644
--- a/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/CqlD4CqlSimpleStmtMapper.java
+++ b/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/CqlD4CqlSimpleStmtMapper.java
@@ -36,7 +36,7 @@ public class CqlD4CqlSimpleStmtMapper extends Cqld4CqlBaseOpMapper apply(NBComponent adapterC, ParsedOp op, LongFunction spaceInitF) {
+ public OpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceF) {
return new Cqld4SimpleCqlStmtDispenser(adapter, targetFunction, op);
}
diff --git a/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/CqlD4OpType.java b/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/CqlD4OpType.java
index 8a1ec6cc8..f3c06942e 100644
--- a/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/CqlD4OpType.java
+++ b/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/CqlD4OpType.java
@@ -18,65 +18,61 @@ package io.nosqlbench.adapter.cqld4.opmappers;
public enum CqlD4OpType {
- /**
- * uses {@link com.datastax.oss.driver.api.core.cql.SimpleStatement}
- * does not parameterize values via the SimpleStatement API.
- * Pre-renderes the statement string with values included. This is not
- * efficient nor recommended for production use, although it is useful
- * for certain testing scenarios in which you need to create a lot
- * of DDL or other statements which require non-parameterizable fields
- * to be present in binding values.
- */
+ // uses [[com.datastax.oss.driver.api.core.cql.SimpleStatement]]
+ // **does not** parameterize values via the SimpleStatement API.
+ // Pre-renderes the statement string with values included. This is not
+ // efficient nor recommended for production use, although it is useful
+ // for certain testing scenarios in which you need to create a lot
+ // of DDL or other statements which require non-parameterizable fields
+ // to be present in binding values.
raw,
- /**
- * uses {@link com.datastax.oss.driver.api.core.cql.SimpleStatement}
- * This parameterizes values and applies them as positional fields,
- * where the binding points are aligned by binding name.
- */
+ // uses [[com.datastax.oss.driver.api.core.cql.SimpleStatement]]
+ // This parameterizes values and applies them as positional fields,
+ // where the binding points are aligned by binding name.
+ //
simple,
- /**
- * uses {@link com.datastax.oss.driver.api.core.cql.SimpleStatement}
- * This type does everything that the {@link #simple} mode does, and
- * additionally uses prepared statements.
- */
+ // uses [[com.datastax.oss.driver.api.core.cql.PreparedStatement]]
+ // This type does everything that the {@link #simple} mode does, and
+ // additionally uses prepared statements.
prepared,
- /**
- * Allows for a statement template to be used to create a batch statement.
- * The fields 'op_template', and 'repeat' are required, and all fields below
- * the op_template field are a nested version of the other op types here, but
- * supports only the simple and prepared forms for historic compatibility reasons.
- */
+ // uses [[com.datastax.oss.driver.api.core.cql.BatchStatement]]
+ // Allows for a statement template to be used to create a batch statement.
+ // The fields 'op_template', and 'repeat' are required, and all fields below
+ // the op_template field are a nested version of the other op types here, but
+ // supports only the simple and prepared forms for historic compatibility reasons.
batch,
- /**
- * uses {@link com.datastax.dse.driver.api.core.graph.ScriptGraphStatement}
- * This is the "raw" mode of using gremlin. It is not as efficient, and thus
- * is only recommended for testing or legacy apps.
- */
+ // This reads rows of data and verifies data and structure according to what
+ // would have been written according to the original bindings.
+ verify,
+
+ // uses [[com.datastax.dse.driver.api.core.graph.ScriptGraphStatement]]
+ // This is the "raw" mode of using gremlin. It is not as efficient, and thus
+ // is only recommended for testing or legacy apps.
gremlin,
/**
- * uses {@link com.datastax.dse.driver.api.core.graph.FluentGraphStatement}
+ * uses [[com.datastax.dse.driver.api.core.graph.FluentGraphStatement]]
* This mode is the recommended mode for gremlin execution. It uses the fluent
* API on the client side. The fluent syntax is compiled and cached as bytecode
* within a per-thread execution environment (for each op template). For each
* cycle, the bindings are rendered, injected into that execution environment,
* and then the bytecode is executed to render the current operation, which is
* then sent to the server. Although this is arguably more involved, the result
- * is quite efficient and provides the closes idiomatic experience AND
+ * is quite efficient and provides the closes idiomatic experience **AND**
* the best performance.
*
- * This is the mode that is recommended for all graph usage.
+ * This is the mode that is recommended for all graph usage.
*/
fluent,
- /**
- * reserved for future use
- */
- rainbow,
+// /**
+// * reserved for future use
+// */
+// rainbow,
// /**
// * reserved for future use
// */
diff --git a/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/CqlD4PreparedStmtMapper.java b/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/CqlD4PreparedStmtMapper.java
index b09485fea..6354d8601 100644
--- a/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/CqlD4PreparedStmtMapper.java
+++ b/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/CqlD4PreparedStmtMapper.java
@@ -47,7 +47,7 @@ public class CqlD4PreparedStmtMapper extends Cqld4CqlBaseOpMapper apply(
NBComponent adapterC,
ParsedOp op,
- LongFunction spaceInitF
+ LongFunction spaceF
) {
ParsedTemplateString stmtTpl = op.getAsTemplate(target.field).orElseThrow(() -> new BasicError(
"No statement was found in the op template:" + op
@@ -68,7 +68,7 @@ public class CqlD4PreparedStmtMapper extends Cqld4CqlBaseOpMapper extends Cql
}
@Override
- public OpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceInitF) {
+ public OpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceF) {
return null;
// return new CqlD4RainbowTableDispenser(adapter, sessionFunc,targetFunction, op);
}
diff --git a/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/CqlD4RawStmtMapper.java b/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/CqlD4RawStmtMapper.java
index fdba78fb7..8c9097a0b 100644
--- a/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/CqlD4RawStmtMapper.java
+++ b/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/CqlD4RawStmtMapper.java
@@ -35,7 +35,7 @@ public class CqlD4RawStmtMapper extends Cqld4CqlBaseOpMapper apply(NBComponent adapterC, ParsedOp op, LongFunction spaceInitF) {
+ public OpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceF) {
return new Cqld4RawStmtDispenser(adapter, targetFunction,op);
}
diff --git a/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/Cqld4BaseOpMapper.java b/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/Cqld4BaseOpMapper.java
index 483f15f23..148a6af3e 100644
--- a/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/Cqld4BaseOpMapper.java
+++ b/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/Cqld4BaseOpMapper.java
@@ -38,5 +38,5 @@ public abstract class Cqld4BaseOpMapper> implements OpM
}
@Override
- public abstract OpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceInitF);
+ public abstract OpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceF);
}
diff --git a/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/Cqld4CoreOpMapper.java b/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/Cqld4CoreOpMapper.java
index 698898ef3..afa842bd6 100644
--- a/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/Cqld4CoreOpMapper.java
+++ b/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/Cqld4CoreOpMapper.java
@@ -61,8 +61,8 @@ public class Cqld4CoreOpMapper extends Cqld4BaseOpMapper> {
case raw, simple, prepared, batch -> new Cqld4CqlOpMapper(adapter).apply(adapterC, op, spaceF);
case gremlin -> new Cqld4GremlinOpMapper(adapter, target.targetFunction).apply(adapterC, op, spaceF);
case fluent -> new Cqld4FluentGraphOpMapper(adapter, target).apply(adapterC, op, spaceF);
- case rainbow ->
- new CqlD4RainbowTableMapper(adapter, spaceF, target.targetFunction).apply(adapterC, op, spaceF);
+// case rainbow ->
+// new CqlD4RainbowTableMapper(adapter, spaceF, target.targetFunction).apply(adapterC, op, spaceF);
default -> throw new OpConfigError("Unsupported op type " + opType);
// case sst -> new Cqld4SsTableMapper(adapter, sessionFunc, target.targetFunction).apply(op);
};
diff --git a/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/Cqld4CqlBaseOpMapper.java b/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/Cqld4CqlBaseOpMapper.java
index eba4a9989..77b3c3d47 100644
--- a/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/Cqld4CqlBaseOpMapper.java
+++ b/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/Cqld4CqlBaseOpMapper.java
@@ -34,6 +34,6 @@ public abstract class Cqld4CqlBaseOpMapper extends Cqld4Ba
}
@Override
- public abstract OpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceInitF);
+ public abstract OpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceF);
}
diff --git a/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/Cqld4CqlOpMapper.java b/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/Cqld4CqlOpMapper.java
index ae137b10f..736d97969 100644
--- a/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/Cqld4CqlOpMapper.java
+++ b/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/Cqld4CqlOpMapper.java
@@ -39,7 +39,7 @@ public class Cqld4CqlOpMapper extends Cqld4CqlBaseOpMapper {
}
@Override
- public OpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceInitF) {
+ public OpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceF) {
CqlD4OpType opType = CqlD4OpType.prepared;
TypeAndTarget target = op.getTypeAndTarget(CqlD4OpType.class, String.class, "type", "stmt");
logger.info(() -> "Using " + target.enumId + " statement form for '" + op.getName() + "'");
@@ -47,13 +47,13 @@ public class Cqld4CqlOpMapper extends Cqld4CqlBaseOpMapper {
return (OpDispenser) switch (target.enumId) {
case raw -> {
CqlD4RawStmtMapper cqlD4RawStmtMapper = new CqlD4RawStmtMapper(adapter, target.targetFunction);
- OpDispenser apply = cqlD4RawStmtMapper.apply(adapterC, op, spaceInitF);
+ OpDispenser apply = cqlD4RawStmtMapper.apply(adapterC, op, spaceF);
yield apply;
}
- case simple -> new CqlD4CqlSimpleStmtMapper(adapter, target.targetFunction).apply(adapterC, op, spaceInitF);
- case prepared -> new CqlD4PreparedStmtMapper(adapter, target).apply(adapterC, op, spaceInitF);
+ case simple -> new CqlD4CqlSimpleStmtMapper(adapter, target.targetFunction).apply(adapterC, op, spaceF);
+ case prepared -> new CqlD4PreparedStmtMapper(adapter, target).apply(adapterC, op, spaceF);
- case batch -> new CqlD4BatchStmtMapper(adapter, target).apply(adapterC, op, spaceInitF);
+ case batch -> new CqlD4BatchStmtMapper(adapter, target).apply(adapterC, op, spaceF);
default ->
throw new OpConfigError("Unsupported op type for CQL category of statement forms:" + target.enumId);
};
diff --git a/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/Cqld4FluentGraphOpMapper.java b/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/Cqld4FluentGraphOpMapper.java
index 26e793282..dce0eef81 100644
--- a/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/Cqld4FluentGraphOpMapper.java
+++ b/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/Cqld4FluentGraphOpMapper.java
@@ -59,7 +59,7 @@ public class Cqld4FluentGraphOpMapper extends Cqld4BaseOpMapper apply(NBComponent adapterC, ParsedOp op, LongFunction cqld4SpaceLongFunction) {
+ public OpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceF) {
GraphTraversalSource g = DseGraph.g;
ParsedTemplateString fluent = op.getAsTemplate(target.field).orElseThrow();
diff --git a/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/Cqld4GremlinOpMapper.java b/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/Cqld4GremlinOpMapper.java
index 72eaba185..a259cbfd1 100644
--- a/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/Cqld4GremlinOpMapper.java
+++ b/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/opmappers/Cqld4GremlinOpMapper.java
@@ -33,7 +33,7 @@ public class Cqld4GremlinOpMapper extends Cqld4Ba
}
@Override
- public Cqld4GremlinOpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceInitF) {
+ public Cqld4GremlinOpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceF) {
return new Cqld4GremlinOpDispenser(
adapter,
l -> adapter.getSpaceFunc(op).apply(l).getSession(), targetFunction, op);
diff --git a/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/optypes/Cqld4CqlOp.java b/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/optypes/Cqld4CqlOp.java
index 801e0c779..de5ced85f 100644
--- a/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/optypes/Cqld4CqlOp.java
+++ b/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/optypes/Cqld4CqlOp.java
@@ -16,6 +16,7 @@
package io.nosqlbench.adapter.cqld4.optypes;
+import com.datastax.oss.driver.api.core.CqlIdentifier;
import com.datastax.oss.driver.api.core.CqlSession;
import com.datastax.oss.driver.api.core.cql.*;
import io.nosqlbench.adapter.cqld4.Cqld4CqlReboundStatement;
@@ -26,14 +27,16 @@ import io.nosqlbench.adapter.cqld4.exceptions.ExceededRetryReplaceException;
import io.nosqlbench.adapter.cqld4.exceptions.UnexpectedPagingException;
import io.nosqlbench.adapter.cqld4.instruments.CqlOpMetrics;
import io.nosqlbench.adapters.api.activityimpl.uniform.flowtypes.*;
-import org.apache.commons.lang3.NotImplementedException;
+import io.nosqlbench.virtdata.core.templates.*;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.*;
+import java.util.function.Function;
// TODO: add statement filtering
@@ -47,7 +50,7 @@ import java.util.concurrent.*;
public abstract class Cqld4CqlOp
- implements Cqld4BaseOp>, VariableCapture, OpGenerator, OpResultSize {
+ implements Cqld4BaseOp>, UniformVariableCapture>, OpGenerator, OpResultSize {
private final static Logger logger = LogManager.getLogger(Cqld4CqlOp.class);
@@ -165,8 +168,33 @@ public abstract class Cqld4CqlOp
return next;
}
- public Map capture() {
- throw new NotImplementedException("Not implemented for Cqld4CqlOp");
+ @Override
+ public Function, Map> initCaptureF(CapturePoints> points) {
+ Function,Map> f = (List result) -> {
+ if (result.size()!=1) {
+ throw new CapturePointException("result contained " + result.size() + " rows, required exactly 1");
+ }
+ Row row = result.get(0);
+ ColumnDefinitions coldefs = row.getColumnDefinitions();
+ Map values = new HashMap<>(coldefs.size());
+
+ if (points.isGlob()) {
+ for (ColumnDefinition coldef : coldefs) {
+ String colname = coldef.getName().toString();
+ values.put(colname,row.getObject(colname));
+ }
+ } else {
+ for (CapturePoint> point : points) {
+ String sourceName = point.getSourceName();
+ Object value = row.getObject(point.getSourceName());
+ Object recast = point.getAsCast().cast(value);
+ values.put(point.getAsName(), recast);
+ }
+ }
+
+ return values;
+ };
+ return f;
}
public abstract Statement> getStmt();
diff --git a/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/optypes/Cqld4RainbowTableOp.java b/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/optypes/Cqld4RainbowTableOp.java
index 129aad489..7c6f369dc 100644
--- a/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/optypes/Cqld4RainbowTableOp.java
+++ b/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/optypes/Cqld4RainbowTableOp.java
@@ -19,11 +19,8 @@ package io.nosqlbench.adapter.cqld4.optypes;
import com.datastax.oss.driver.api.core.cql.ResultSet;
import io.nosqlbench.adapters.api.activityimpl.uniform.flowtypes.*;
-import java.util.Map;
-
// Need to create RainbowTableStatement
-public class Cqld4RainbowTableOp
- implements Cqld4BaseOp, VariableCapture, OpGenerator, OpResultSize {
+public class Cqld4RainbowTableOp implements Cqld4BaseOp, OpGenerator, OpResultSize {
// private final CqlSession session;
// private final RainbowTableStatement stmt;
@@ -39,9 +36,4 @@ public class Cqld4RainbowTableOp
throw new RuntimeException("implement me");
}
- @Override
- public Map capture() {
- throw new RuntimeException("implement me");
- }
-
}
diff --git a/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/validators/Cqld4SingleRowValidator.java b/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/validators/Cqld4SingleRowValidator.java
new file mode 100644
index 000000000..008072a78
--- /dev/null
+++ b/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/adapter/cqld4/validators/Cqld4SingleRowValidator.java
@@ -0,0 +1,35 @@
+package io.nosqlbench.adapter.cqld4.validators;
+
+/*
+ * Copyright (c) nosqlbench
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+
+import com.datastax.oss.driver.api.core.cql.Row;
+import io.nosqlbench.adapters.api.activityimpl.uniform.Validator;
+
+import java.util.List;
+
+public class Cqld4SingleRowValidator implements Validator> {
+
+ public Cqld4SingleRowValidator() {
+ }
+
+ @Override
+ public void validate(List rows) {
+ System.out.println("validating rows...");
+ }
+}
diff --git a/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/cqlgen/core/CGWorkloadExporter.java b/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/cqlgen/core/CGWorkloadExporter.java
index 19e864b04..0a7163c0b 100644
--- a/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/cqlgen/core/CGWorkloadExporter.java
+++ b/nb-adapters/adapter-cqld4/src/main/java/io/nosqlbench/cqlgen/core/CGWorkloadExporter.java
@@ -536,7 +536,7 @@ public class CGWorkloadExporter implements BundledApp {
pkeys.pop();
}
}
- var lastcount = keycount;
+ int lastcount = keycount;
keycount = Math.max(table.getPartitionKeys().size(), keycount);
if (keycount != lastcount) {
logger.debug("minimum keycount for " + table.getFullName() + " adjusted from " + lastcount + " to " + keycount);
diff --git a/nb-adapters/adapter-cqld4/src/main/resources/cqlverify.md b/nb-adapters/adapter-cqld4/src/main/resources/cqlverify.md
new file mode 100644
index 000000000..b1de99e50
--- /dev/null
+++ b/nb-adapters/adapter-cqld4/src/main/resources/cqlverify.md
@@ -0,0 +1,162 @@
+# CQL Verify
+
+The cqld4 adapter has the capability to verify data in a database by reading each row and comparing
+it with reference data. The reference data is simply the same data which you might use to generate
+data for upsert, modeled with standard bindings. Thus, you can assert the correctness of any (whole
+or part of) data within a database for which you have data bindings. For the most common case --
+writing and then verifying data, the same bindings are used for both phases.
+
+It allows you to read values from a database and compare them to the generated values that were
+expected to be written, row-by-row, producing a comparative result between the two.
+
+If you specify `verify` as the op type with the cqld4 adapter, then it will do the following:
+
+1. Presume that the op structure is effectively a read operation, meaning it will produce a result
+ that can be used for comparison. The operation must have a single row in the result set. If there
+ is no row, then the row fails validation. The same happens if there is more than one row.
+2. Using the provided bindings, re-generate the data separately which was expected to be in the
+ database. This is called _reference data_ herein.
+3. Verify that the values returned from the database are the same as the reference data, and throw a
+ ResultVerificationError for each mis-matching row.
+
+Alternately, you can add the verify and compare options to any regular CQL statement (Simple, Raw,
+Prepared) in order to enable this verification logic.
+
+## Verification Options
+
+These options may be attached to an op template directly as op fields, or they may be passed as
+activity parameters. NOTE: passing them as activity parameters will only work if all of the active
+operations are compatible with the verify options.
+
+- **verify** - an optional modifier of fields to verify for a statement. If this parameter is not
+ provided, then it is presumed to be `*` by default. This is a string which consists of
+ comma-separate values. This parameter is useful if you have a set of default bindings and want to
+ specify which subset of them will be used just for this statement. Each form modifies the list of
+ fields to verify incrementally, and multiple options are allowed:
+- `*` : If the value is `*`, then all the bindings that are visible for the statement will be used
+ as expected values.
+- `-`, `-field2` : If it is a word that starts with `-`, like `-field2`, then the name after the
+ dash is removed from the list of fields to verify.
+- `+`, `+field3` : If it is a word that starts with a `+`, like `+field3`, or a simple word, then
+ the field is added to the list of fields to verify.
+- `f->b` : If any of the added fields is in the form `f->b`, then it is taken as a mapping from the
+ field name `f` in the schema to a binding `b`.
+
+For example,
+
+```yaml
+# example op template
+ops:
+ op1:
+ readit: "select ....TBD"
+ bindings:
+ a: ..
+ b: ..
+ c: ..
+ verify: "*,-b"
+```
+
+means _verify all fields from the bindings except `b`_, using the default validation method.
+
+- **compare** - what to verify, naming structure, values, etc. each of these is additive, and
+ multiple can be specified.
+ - all (the default) - A synonym for fields AND values
+ - fields - A synonym for rowfields AND reffields (full set equivalence)
+ - rowfields - Verify that the result field names include every reference field name.
+ - reffields - Verify that the reference field names include every result field name.
+ - values - Verify that all the pair-wise fields have equal values, according to the
+ type-specific `.equals(...)` method for the data type identified in the row metadata by field
+ name.
+
+For example,
+
+```yaml
+# example op template
+ops:
+ op1:
+ readit: "select ....TBD"
+ bindings:
+ a: ..
+ b: ..
+ c: ..
+ verify: "*,-b"
+ compare: reffields
+```
+
+means _ensure reference fields are present in result fields by name but do not throw an error if
+there are more result fields present, and do not compare values of same-named fields_.
+
+## Verification Results
+
+### Errors
+
+The data bindings are used to generate the expected values that would be used for an upsert. Each
+row is verified according to these values, and any discrepancy is treated as an error that can be
+counted, logged, etc. If you want to simply count the occurences instead of fast-failing an activity
+when a row is unverified, then you simply need to modify the error handler for that activity: '
+errors=unverified=count'.
+
+The default error handling behavior will cause an exception to be thrown and NoSQLBench
+will exit by default. If you wish for something less dramatic, then
+wire the unverified category to something else:
+
+ errors=...,unverified->count
+
+or
+
+ errors=...,unverified->warn
+
+### Metrics
+
+The cqlverify activity type adds some verification-specific metrics:
+
+- alias.verified_results - A counter for how many results were verified
+- alias.unverified_results - A counter for how many results were not verified
+- alias.verified_values - A counter for how many field values were verified
+- alias.unverified_values - A counter for how many field values were unverified
+
+## Advanced Usage
+
+The verify capability does not retain logged data for verification. Still, it is able to compare
+data as if it had a separate physical data set to compare to. This is possible only because
+virtdata (the data generation layer of NoSQLBench) can provide realistic views of virtual datasets
+on the fly.
+
+### Avoid Random data
+
+That means, however, that you must avoid using the non-stable data mapping functions when writing
+data. The rule of thumb is to avoid using any data mapping functions containing the word "Random".
+Binding functions with `random` in their name behave differently from others in that they will not
+produce stable results. Their initialization vector is external to the function definition, such as
+when using the system _random_ functions.
+
+> Some will bristle at this misuse of the terms, but connotatively they work well for most
+> other users. Actually, all of the algorithms used by
+> virtdata are __NOT__ truly random, and are deterministic in some way. However, some rely on
+> an initialization vector which is not self-contained within the function definition. As such,
+> these functions are not pure functions in practice and thus may not be relied upon to return the
+> same result from session to session. The word _random_ in virtdata binding functions indicates
+> that a function is non-determinstic in some cases. As long as you avoid these functions,
+> you can rely on stable generated data from session to session.
+
+### Single vs Multiple Results
+
+TBD
+
+### Paging vs Non-Paging verification
+
+TBD
+
+### Example activity definitions
+
+Write 100K cycles of telemetry data
+
+> TBD ... run driver=cql alias=writesome workload=cql-iot tags=group:write cycles=100000 host=...
+
+Verify the the same 100K cycles of telemetry data
+
+> TBD ... run driver=cqlverify alias=verify workload=cql-iot tags=group:verify cycles=100000
+
+To see how these examples work, TBD
+
+
diff --git a/nb-adapters/adapter-cqld4/src/test/java/io/nosqlbench/converters/cql/cql/parser/CqlParserHarnessTest.java b/nb-adapters/adapter-cqld4/src/test/java/io/nosqlbench/converters/cql/cql/parser/CqlParserHarnessTest.java
index a5818743d..5f05e8504 100644
--- a/nb-adapters/adapter-cqld4/src/test/java/io/nosqlbench/converters/cql/cql/parser/CqlParserHarnessTest.java
+++ b/nb-adapters/adapter-cqld4/src/test/java/io/nosqlbench/converters/cql/cql/parser/CqlParserHarnessTest.java
@@ -52,7 +52,7 @@ public class CqlParserHarnessTest {
CGWorkloadExporter exporter = new CGWorkloadExporter();
exporter.applyAsInt(new String[]{"src/test/resources/testschemas/cql_alltypes.cql","_alltypes.yaml"});
exporter.setNamingTemplate("[OPTYPE-][COLUMN-][TYPEDEF-][TABLE-]-[KEYSPACE]");
- var data = exporter.getWorkloadAsYaml();
+ String data = exporter.getWorkloadAsYaml();
}
diff --git a/nb-adapters/adapter-dataapi/src/main/java/io/nosqlbench/adapter/dataapi/DataApiOpMapper.java b/nb-adapters/adapter-dataapi/src/main/java/io/nosqlbench/adapter/dataapi/DataApiOpMapper.java
index 8ef6dbd82..ffbb771ea 100644
--- a/nb-adapters/adapter-dataapi/src/main/java/io/nosqlbench/adapter/dataapi/DataApiOpMapper.java
+++ b/nb-adapters/adapter-dataapi/src/main/java/io/nosqlbench/adapter/dataapi/DataApiOpMapper.java
@@ -38,7 +38,7 @@ public class DataApiOpMapper implements OpMapper {
@Override
- public OpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceInitF) {
+ public OpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceF) {
//public OpDispenser apply(ParsedOp op, LongFunction spaceInitF) {
TypeAndTarget typeAndTarget = op.getTypeAndTarget(
DataApiOpType.class,
diff --git a/nb-adapters/adapter-dynamodb/src/main/java/io/nosqlbench/adapter/dynamodb/DynamoDBOpMapper.java b/nb-adapters/adapter-dynamodb/src/main/java/io/nosqlbench/adapter/dynamodb/DynamoDBOpMapper.java
index e24066747..f7691ab51 100644
--- a/nb-adapters/adapter-dynamodb/src/main/java/io/nosqlbench/adapter/dynamodb/DynamoDBOpMapper.java
+++ b/nb-adapters/adapter-dynamodb/src/main/java/io/nosqlbench/adapter/dynamodb/DynamoDBOpMapper.java
@@ -40,7 +40,7 @@ public class DynamoDBOpMapper implements OpMapper {
}
@Override
- public OpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceInitF) {
+ public OpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceF) {
int space = op.getStaticConfigOr("space", 0);
LongFunction spaceFunc = adapter.getSpaceFunc(op);
DynamoDB ddb = spaceFunc.apply(space).getDynamoDB();
diff --git a/nb-adapters/adapter-example/src/main/java/io/nosqlbench/adapter/prototype/ExampleOpMapper.java b/nb-adapters/adapter-example/src/main/java/io/nosqlbench/adapter/prototype/ExampleOpMapper.java
index 80f8e4fa1..764a0c760 100644
--- a/nb-adapters/adapter-example/src/main/java/io/nosqlbench/adapter/prototype/ExampleOpMapper.java
+++ b/nb-adapters/adapter-example/src/main/java/io/nosqlbench/adapter/prototype/ExampleOpMapper.java
@@ -2,13 +2,13 @@ package io.nosqlbench.adapter.prototype;
/*
* Copyright (c) nosqlbench
- *
+ *
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -35,13 +35,13 @@ public class ExampleOpMapper implements OpMapper {
public OpDispenser apply(
NBComponent adapterC,
ParsedOp pop,
- LongFunction spaceInitF
+ LongFunction spaceF
) {
TypeAndTarget typeAndTarget = pop.getTypeAndTarget(ExampleOpTypes.class, String.class);
return switch (typeAndTarget.enumId) {
- case type1 -> new ExampleOpDispenserType1(adapterC, pop, spaceInitF);
- case type2 -> new ExampleOpDispenserType1(adapterC, pop, spaceInitF);
+ case type1 -> new ExampleOpDispenserType1(adapterC, pop, spaceF);
+ case type2 -> new ExampleOpDispenserType1(adapterC, pop, spaceF);
};
}
diff --git a/nb-adapters/adapter-example/src/main/java/io/nosqlbench/adapter/prototype/ExampleSpace.java b/nb-adapters/adapter-example/src/main/java/io/nosqlbench/adapter/prototype/ExampleSpace.java
index 19f888286..07d04c409 100644
--- a/nb-adapters/adapter-example/src/main/java/io/nosqlbench/adapter/prototype/ExampleSpace.java
+++ b/nb-adapters/adapter-example/src/main/java/io/nosqlbench/adapter/prototype/ExampleSpace.java
@@ -2,13 +2,13 @@ package io.nosqlbench.adapter.prototype;
/*
* Copyright (c) nosqlbench
- *
+ *
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -21,6 +21,9 @@ package io.nosqlbench.adapter.prototype;
import io.nosqlbench.adapters.api.activityimpl.uniform.BaseSpace;
import io.nosqlbench.adapters.api.activityimpl.uniform.DriverAdapter;
+/**
+ * {@inheritDoc}
+ */
public class ExampleSpace extends BaseSpace {
public ExampleSpace(DriverAdapter, ExampleSpace> adapter, long idx) {
diff --git a/nb-adapters/adapter-gcp-spanner/src/main/java/io/nosqlbench/adapter/gcpspanner/GCPSpannerOpMapper.java b/nb-adapters/adapter-gcp-spanner/src/main/java/io/nosqlbench/adapter/gcpspanner/GCPSpannerOpMapper.java
index 62775487a..9ec91daf5 100644
--- a/nb-adapters/adapter-gcp-spanner/src/main/java/io/nosqlbench/adapter/gcpspanner/GCPSpannerOpMapper.java
+++ b/nb-adapters/adapter-gcp-spanner/src/main/java/io/nosqlbench/adapter/gcpspanner/GCPSpannerOpMapper.java
@@ -51,12 +51,12 @@ public class GCPSpannerOpMapper implements OpMapper, GCPSp
* @param adapterC
* @param op
* The {@link ParsedOp} to be evaluated
- * @param spaceInitF
+ * @param spaceF
* @return The correct {@link GCPSpannerBaseOpDispenser} subclass based on
* the op type
*/
@Override
- public OpDispenser> apply(NBComponent adapterC, ParsedOp op, LongFunction spaceInitF) {
+ public OpDispenser> apply(NBComponent adapterC, ParsedOp op, LongFunction spaceF) {
TypeAndTarget typeAndTarget = op.getTypeAndTarget(GCPSpannerOpType.class,
String.class, "type", "target");
logger.info(() -> "Using '" + typeAndTarget.enumId + "' op type for op template '" + op.getName() + "'");
diff --git a/nb-adapters/adapter-http/src/main/java/io/nosqlbench/adapter/http/core/HttpOpMapper.java b/nb-adapters/adapter-http/src/main/java/io/nosqlbench/adapter/http/core/HttpOpMapper.java
index 5223338a1..83dec2780 100644
--- a/nb-adapters/adapter-http/src/main/java/io/nosqlbench/adapter/http/core/HttpOpMapper.java
+++ b/nb-adapters/adapter-http/src/main/java/io/nosqlbench/adapter/http/core/HttpOpMapper.java
@@ -37,8 +37,8 @@ public class HttpOpMapper implements OpMapper {
}
@Override
- public OpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceInitF) {
+ public OpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceF) {
LongFunction spaceNameF = op.getAsFunctionOr("space", "default");
- return new HttpOpDispenser(adapter, spaceInitF, op);
+ return new HttpOpDispenser(adapter, spaceF, op);
}
}
diff --git a/nb-adapters/adapter-kafka/src/main/java/io/nosqlbench/adapter/kafka/KafkaOpMapper.java b/nb-adapters/adapter-kafka/src/main/java/io/nosqlbench/adapter/kafka/KafkaOpMapper.java
index b20c5d03a..3c70ba9e9 100644
--- a/nb-adapters/adapter-kafka/src/main/java/io/nosqlbench/adapter/kafka/KafkaOpMapper.java
+++ b/nb-adapters/adapter-kafka/src/main/java/io/nosqlbench/adapter/kafka/KafkaOpMapper.java
@@ -42,7 +42,7 @@ public class KafkaOpMapper implements OpMapper {
}
@Override
- public OpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceInitF) {
+ public OpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceF) {
KafkaSpace kafkaSpace = adapter.getSpaceFunc(op).apply(op.getStaticConfigOr("space",0));
/*
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/MilvusDriverAdapter.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/MilvusDriverAdapter.java
index b7bccc055..5ebcd7c4b 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/MilvusDriverAdapter.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/MilvusDriverAdapter.java
@@ -27,6 +27,7 @@ import io.nosqlbench.nb.api.config.standard.NBConfiguration;
import io.nosqlbench.nb.api.labels.NBLabels;
import java.util.function.Function;
+import java.util.function.LongFunction;
import static io.nosqlbench.adapter.milvus.MilvusAdapterUtils.MILVUS;
@@ -38,15 +39,20 @@ public class MilvusDriverAdapter extends BaseDriverAdapter, Milv
}
@Override
- public OpMapper> getOpMapper() {
+ public OpMapper,MilvusSpace> getOpMapper() {
return new MilvusOpMapper(this);
}
@Override
- public Function getSpaceInitializer(NBConfiguration cfg) {
- return (s) -> new MilvusSpace(s, cfg);
+ public LongFunction getSpaceInitializer(NBConfiguration cfg) {
+ return (idx) -> new MilvusSpace(this, idx, cfg);
}
+ // @Override
+// public Function getSpaceInitializer(NBConfiguration cfg) {
+// return (s) -> new MilvusSpace(s, cfg);
+// }
+
@Override
public NBConfigModel getConfigModel() {
return super.getConfigModel().add(MilvusSpace.getConfigModel());
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/MilvusOpMapper.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/MilvusOpMapper.java
index b670e15a2..4f2bd71ee 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/MilvusOpMapper.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/MilvusOpMapper.java
@@ -23,110 +23,157 @@ import io.nosqlbench.adapters.api.activityimpl.OpDispenser;
import io.nosqlbench.adapters.api.activityimpl.OpMapper;
import io.nosqlbench.adapters.api.templating.ParsedOp;
import io.nosqlbench.engine.api.templating.TypeAndTarget;
+import io.nosqlbench.nb.api.components.core.NBComponent;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-public class MilvusOpMapper implements OpMapper> {
+import java.util.function.LongFunction;
+
+public class MilvusOpMapper implements OpMapper, MilvusSpace> {
private static final Logger logger = LogManager.getLogger(MilvusOpMapper.class);
private final MilvusDriverAdapter adapter;
/**
- * Create a new MilvusOpMapper implementing the {@link OpMapper} interface.
- *
- * @param adapter The associated {@link MilvusDriverAdapter}
+ Create a new MilvusOpMapper implementing the {@link OpMapper} interface.
+ @param adapter
+ The associated {@link MilvusDriverAdapter}
*/
public MilvusOpMapper(MilvusDriverAdapter adapter) {
this.adapter = adapter;
}
/**
- * Given an instance of a {@link ParsedOp} returns the appropriate {@link MilvusBaseOpDispenser} subclass
- *
- * @param op The {@link ParsedOp} to be evaluated
- * @return The correct {@link MilvusBaseOpDispenser} subclass based on the op type
+ Given an instance of a {@link ParsedOp} returns the appropriate {@link MilvusBaseOpDispenser}
+ subclass
+ @param op
+ The {@link ParsedOp} to be evaluated
+ @return The correct {@link MilvusBaseOpDispenser} subclass based on the op type
*/
@Override
- public OpDispenser extends MilvusBaseOp>> apply(ParsedOp op) {
+ public OpDispenser extends MilvusBaseOp>> apply(
+ NBComponent adapterC, ParsedOp op,
+ LongFunction spaceF
+ ) {
+
TypeAndTarget typeAndTarget = op.getTypeAndTarget(
MilvusOpType.class,
String.class,
- "type",
- "target"
+ "type", "target"
);
- logger.info(() -> "Using '" + typeAndTarget.enumId + "' op type for op template '" + op.getName() + "'");
+ logger.info(
+ () -> "Using '" + typeAndTarget.enumId + "' op type for op template '" + op.getName() + "'");
return switch (typeAndTarget.enumId) {
- case drop_collection -> new MilvusDropCollectionOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case create_collection -> new MilvusCreateCollectionOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case create_index -> new MilvusCreateIndexOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case drop_index -> new MilvusDropIndexOpDispenser(adapter, op, typeAndTarget.targetFunction);
+ case drop_collection -> new MilvusDropCollectionOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case create_collection -> new MilvusCreateCollectionOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case create_index -> new MilvusCreateIndexOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case drop_index -> new MilvusDropIndexOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
// Uses the Collection-specific fields (columnar) insert mode
- case insert_rows -> new MilvusInsertRowsOpDispenser(adapter, op, typeAndTarget.targetFunction);
+ case insert_rows -> new MilvusInsertRowsOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
// Uses the High-Level row-by-row JSONObject (tabular) insert mode
- case insert -> new MilvusInsertOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case delete -> new MilvusDeleteOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case search -> new MilvusSearchOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case alter_alias -> new MilvusAlterAliasOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case alter_collection -> new MilvusAlterCollectionOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case flush -> new MilvusFlushOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case bulk_insert -> new MilvusBulkInsertOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case create_alias -> new MilvusCreateAliasOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case get -> new MilvusGetOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case create_partition -> new MilvusCreatePartitionOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case create_credential -> new MilvusCreateCredentialOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case create_database -> new MilvusCreateDatabaseOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case query -> new MilvusQueryOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case delete_credential -> new MilvusDeleteCredentialOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case describe_collection ->
- new MilvusDescribeCollectionOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case describe_index -> new MilvusDescribeIndexOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case drop_alias -> new MilvusDropAliasOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case get_metrics -> new MilvusGetMetricsOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case drop_database -> new MilvusDropDatabaseOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case get_replicas -> new MilvusGetReplicasOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case load_balance -> new MilvusLoadBalanceOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case has_partition -> new MilvusHasPartitionOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case drop_partition -> new MilvusDropPartitionOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case get_load_state -> new MilvusGetLoadStateOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case list_databases -> new MilvusListDatabasesOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case manual_compact -> new MilvusManualCompactOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case get_index_state -> new MilvusGetIndexStateOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case list_cred_users -> new MilvusListCredUsersOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case load_collection -> new MilvusLoadCollectionOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case show_partitions -> new MilvusShowPartitionsOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case load_partitions -> new MilvusLoadPartitionsOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case list_collections -> new MilvusListCollectionsOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case show_collections -> new MilvusShowCollectionsOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case update_credential -> new MilvusUpdateCredentialOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case release_collection -> new MilvusReleaseCollectionOpDispenser(adapter, op,
- typeAndTarget.targetFunction);
- case get_bulk_insert_state -> new MilvusGetBulkInsertStateOpDispenser(adapter, op,
- typeAndTarget.targetFunction);
- case release_partitions -> new MilvusReleasePartitionsOpDispenser(adapter, op,
- typeAndTarget.targetFunction);
- case get_flush_all_state -> new MilvusGetFlushAllStateOpDispenser(adapter, op,
- typeAndTarget.targetFunction);
- case get_compaction_state -> new MilvusGetCompactionStateOpDispenser(adapter, op,
- typeAndTarget.targetFunction);
- case get_loading_progress -> new MilvusGetLoadingProgressOpDispenser(adapter, op,
- typeAndTarget.targetFunction);
- case get_persistent_segment_info -> new MilvusGetPersistentSegmentInfoOpDispenser(adapter, op,
- typeAndTarget.targetFunction);
- case get_query_segment_info -> new MilvusGetQuerySegmentInfoOpDispenser(adapter, op,
- typeAndTarget.targetFunction);
- case list_bulk_insert_tasks -> new MilvusListBulkInsertTasksOpDispenser(adapter, op,
- typeAndTarget.targetFunction);
- case get_index_build_progress -> new MilvusGetIndexBuildProgressOpDispenser(adapter, op,
- typeAndTarget.targetFunction);
- case get_partition_statistics -> new MilvusGetPartitionStatisticsOpDispenser(adapter, op,
- typeAndTarget.targetFunction);
- case get_collection_statistics -> new MilvusGetCollectionStatisticsOpDispenser(adapter, op,
- typeAndTarget.targetFunction);
- case get_compaction_state_with_plans -> new MilvusGetCompactionStateWithPlansOpDispenser(adapter, op,
- typeAndTarget.targetFunction);
+ case insert -> new MilvusInsertOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case delete -> new MilvusDeleteOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case search -> new MilvusSearchOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case alter_alias -> new MilvusAlterAliasOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case alter_collection -> new MilvusAlterCollectionOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case flush -> new MilvusFlushOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case bulk_insert -> new MilvusBulkInsertOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case create_alias -> new MilvusCreateAliasOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case get -> new MilvusGetOpDispenser(adapter, op, typeAndTarget.targetFunction, spaceF);
+ case create_partition -> new MilvusCreatePartitionOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case create_credential -> new MilvusCreateCredentialOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case create_database -> new MilvusCreateDatabaseOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case query -> new MilvusQueryOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case delete_credential -> new MilvusDeleteCredentialOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case describe_collection -> new MilvusDescribeCollectionOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case describe_index -> new MilvusDescribeIndexOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case drop_alias -> new MilvusDropAliasOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case get_metrics -> new MilvusGetMetricsOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case drop_database -> new MilvusDropDatabaseOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case get_replicas -> new MilvusGetReplicasOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case load_balance -> new MilvusLoadBalanceOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case has_partition -> new MilvusHasPartitionOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case drop_partition -> new MilvusDropPartitionOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case get_load_state -> new MilvusGetLoadStateOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case list_databases -> new MilvusListDatabasesOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case manual_compact -> new MilvusManualCompactOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case get_index_state -> new MilvusGetIndexStateOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case list_cred_users -> new MilvusListCredUsersOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case load_collection -> new MilvusLoadCollectionOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case show_partitions -> new MilvusShowPartitionsOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case load_partitions -> new MilvusLoadPartitionsOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case list_collections -> new MilvusListCollectionsOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case show_collections -> new MilvusShowCollectionsOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case update_credential -> new MilvusUpdateCredentialOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case release_collection -> new MilvusReleaseCollectionOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case get_bulk_insert_state -> new MilvusGetBulkInsertStateOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case release_partitions -> new MilvusReleasePartitionsOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case get_flush_all_state -> new MilvusGetFlushAllStateOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case get_compaction_state -> new MilvusGetCompactionStateOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case get_loading_progress -> new MilvusGetLoadingProgressOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case get_persistent_segment_info -> new MilvusGetPersistentSegmentInfoOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case get_query_segment_info -> new MilvusGetQuerySegmentInfoOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case list_bulk_insert_tasks -> new MilvusListBulkInsertTasksOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case get_index_build_progress -> new MilvusGetIndexBuildProgressOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case get_partition_statistics -> new MilvusGetPartitionStatisticsOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case get_collection_statistics -> new MilvusGetCollectionStatisticsOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
+ case get_compaction_state_with_plans ->
+ new MilvusGetCompactionStateWithPlansOpDispenser(
+ adapter, op, typeAndTarget.targetFunction, spaceF);
// default -> throw new RuntimeException("Unrecognized op type '" + typeAndTarget.enumId.name() + "' while " +
// "mapping parsed op " + op);
};
}
+
}
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/MilvusSpace.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/MilvusSpace.java
index e9dc60776..1482ea474 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/MilvusSpace.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/MilvusSpace.java
@@ -18,6 +18,8 @@ package io.nosqlbench.adapter.milvus;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.ConnectParam;
+import io.nosqlbench.adapters.api.activityimpl.uniform.BaseSpace;
+import io.nosqlbench.adapters.api.activityimpl.uniform.DriverAdapter;
import io.nosqlbench.nb.api.config.standard.ConfigModel;
import io.nosqlbench.nb.api.config.standard.NBConfigModel;
import io.nosqlbench.nb.api.config.standard.NBConfiguration;
@@ -39,26 +41,16 @@ import java.util.Optional;
* https://milvus.io/docs/install-java.md
* https://docs.zilliz.com/docs/connect-to-cluster
*/
-public class MilvusSpace implements AutoCloseable {
+public class MilvusSpace extends BaseSpace {
private final static Logger logger = LogManager.getLogger(MilvusSpace.class);
- private final String name;
private final NBConfiguration cfg;
protected MilvusServiceClient client;
-// private final Map connections = new HashMap<>();
-
- /**
- * Create a new MilvusSpace Object which stores all stateful contextual information needed to interact
- * with the Milvus/Zilliz database instance.
- *
- * @param name
- * The name of this space
- * @param cfg
- * The configuration ({@link NBConfiguration}) for this nb run
- */
- public MilvusSpace(String name, NBConfiguration cfg) {
- this.name = name;
+ public MilvusSpace(
+ DriverAdapter, MilvusSpace> adapter, long idx, NBConfiguration cfg
+ ) {
+ super(adapter, idx);
this.cfg = cfg;
}
@@ -70,7 +62,7 @@ public class MilvusSpace implements AutoCloseable {
}
private MilvusServiceClient createClient() {
- var builder = ConnectParam.newBuilder();
+ ConnectParam.Builder builder = ConnectParam.newBuilder();
builder = builder.withUri(cfg.get("uri"));
cfg.getOptional("database_name").ifPresent(builder::withDatabaseName);
cfg.getOptional("database").ifPresent(builder::withDatabaseName);
@@ -95,7 +87,7 @@ public class MilvusSpace implements AutoCloseable {
String tokenSummary = Optional.ofNullable(builder.getToken())
.map(MilvusAdapterUtils::maskDigits).orElse("[none]");
logger.info("{}: Creating new Milvus/Zilliz Client with (masked) token [{}], uri/endpoint [{}]",
- this.name, tokenSummary, builder.getUri());
+ this.getName(), tokenSummary, builder.getUri());
return new MilvusServiceClient(connectParams);
}
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusAlterAliasOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusAlterAliasOpDispenser.java
index 8b078a89b..951bbfd94 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusAlterAliasOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusAlterAliasOpDispenser.java
@@ -17,20 +17,15 @@
package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
-import io.milvus.common.clientenum.ConsistencyLevelEnum;
import io.milvus.param.alias.AlterAliasParam;
-import io.milvus.param.collection.CreateCollectionParam;
-import io.milvus.param.collection.FieldType;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusAlterAliasOp;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
-import io.nosqlbench.adapter.milvus.ops.MilvusCreateCollectionOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import java.util.List;
-import java.util.Map;
import java.util.function.LongFunction;
public class MilvusAlterAliasOpDispenser extends MilvusBaseOpDispenser {
@@ -38,8 +33,10 @@ public class MilvusAlterAliasOpDispenser extends MilvusBaseOpDispenser targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction,spaceF);
}
@Override
@@ -53,7 +50,7 @@ public class MilvusAlterAliasOpDispenser extends MilvusBaseOpDispenser lastF = ebF;
final LongFunction collectionParamF = l -> lastF.apply(l).build();
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusAlterCollectionOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusAlterCollectionOpDispenser.java
index 8d2c09377..834ebcee1 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusAlterCollectionOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusAlterCollectionOpDispenser.java
@@ -19,6 +19,7 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.collection.AlterCollectionParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusAlterCollectionOp;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -29,8 +30,10 @@ public class MilvusAlterCollectionOpDispenser extends MilvusBaseOpDispenser targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction,spaceF);
}
@Override
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusBaseOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusBaseOpDispenser.java
index ae0f514ae..c4f032626 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusBaseOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusBaseOpDispenser.java
@@ -33,16 +33,15 @@ public abstract class MilvusBaseOpDispenser extends BaseOpDispenser> opF;
private final LongFunction paramF;
- protected MilvusBaseOpDispenser(MilvusDriverAdapter adapter, ParsedOp op, LongFunction targetF) {
- super((DriverAdapter)adapter, op);
+ protected MilvusBaseOpDispenser(MilvusDriverAdapter adapter, ParsedOp op,
+ LongFunction targetF,
+ LongFunction spaceF) {
+ super(adapter,op,spaceF);
this.mzSpaceFunction = adapter.getSpaceFunc(op);
this.clientFunction = (long l) -> this.mzSpaceFunction.apply(l).getClient();
this.paramF = getParamFunc(this.clientFunction,op,targetF);
this.opF = createOpFunc(paramF, this.clientFunction, op, targetF);
}
- protected MilvusDriverAdapter getDriverAdapter() {
- return (MilvusDriverAdapter) adapter;
- }
public abstract LongFunction getParamFunc(
LongFunction clientF,
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusBulkInsertOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusBulkInsertOpDispenser.java
index d0054f3a4..d8bdcb8b9 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusBulkInsertOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusBulkInsertOpDispenser.java
@@ -19,6 +19,7 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.bulkinsert.BulkInsertParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusBulkInsertOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -31,8 +32,10 @@ public class MilvusBulkInsertOpDispenser extends MilvusBaseOpDispenser targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction,spaceF);
}
@Override
@@ -53,7 +56,7 @@ public class MilvusBulkInsertOpDispenser extends MilvusBaseOpDispenser finalEbF = ebF;
return l -> finalEbF.apply(l).build();
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusCreateAliasOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusCreateAliasOpDispenser.java
index 2d936f054..1d3f9fe48 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusCreateAliasOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusCreateAliasOpDispenser.java
@@ -19,6 +19,7 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.alias.CreateAliasParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusCreateAliasOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -30,8 +31,10 @@ public class MilvusCreateAliasOpDispenser extends MilvusBaseOpDispenser targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction,spaceF);
}
@Override
@@ -42,7 +45,7 @@ public class MilvusCreateAliasOpDispenser extends MilvusBaseOpDispenser ebF =
l -> CreateAliasParam.newBuilder().withAlias(targetF.apply(l));
- ebF = op.enhanceFuncOptionally(ebF, List.of("collection_name","collection"),String.class,
+ ebF = op.enhanceFuncOptionally(ebF, "collection",String.class,
CreateAliasParam.Builder::withCollectionName);
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusCreateCollectionOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusCreateCollectionOpDispenser.java
index 158edf033..a1e2ad4cc 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusCreateCollectionOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusCreateCollectionOpDispenser.java
@@ -23,6 +23,7 @@ import io.milvus.param.collection.CollectionSchemaParam;
import io.milvus.param.collection.CreateCollectionParam;
import io.milvus.param.collection.FieldType;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusCreateCollectionOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -38,16 +39,20 @@ public class MilvusCreateCollectionOpDispenser extends MilvusBaseOpDispenser targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction,spaceF);
}
@Override
@@ -111,7 +116,7 @@ public class MilvusCreateCollectionOpDispenser extends MilvusBaseOpDispenser builder.withMaxLength(n.intValue()));
fieldspec.getOptionalStaticConfig("max_capacity", Number.class)
.ifPresent((Number n) -> builder.withMaxCapacity(n.intValue()));
- fieldspec.getOptionalStaticValue(List.of("partition_key", "partition"), Boolean.class)
+ fieldspec.getOptionalStaticValue("partition", Boolean.class)
.ifPresent(builder::withPartitionKey);
fieldspec.getOptionalStaticValue("dimension", Number.class)
.ifPresent((Number n) -> builder.withDimension(n.intValue()));
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusCreateCredentialOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusCreateCredentialOpDispenser.java
index 37580e2af..ea7ebdef2 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusCreateCredentialOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusCreateCredentialOpDispenser.java
@@ -19,6 +19,7 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.credential.CreateCredentialParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusCreateCredentialOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -29,8 +30,10 @@ public class MilvusCreateCredentialOpDispenser extends MilvusBaseOpDispenser targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusCreateDatabaseOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusCreateDatabaseOpDispenser.java
index 4e2afb16d..3a4fc03c7 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusCreateDatabaseOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusCreateDatabaseOpDispenser.java
@@ -19,6 +19,7 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.collection.CreateDatabaseParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusCreateDatabaseOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -29,8 +30,10 @@ public class MilvusCreateDatabaseOpDispenser extends MilvusBaseOpDispenser targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusCreateIndexOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusCreateIndexOpDispenser.java
index ea167b100..ec13a899d 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusCreateIndexOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusCreateIndexOpDispenser.java
@@ -21,6 +21,7 @@ import io.milvus.param.IndexType;
import io.milvus.param.MetricType;
import io.milvus.param.index.CreateIndexParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusCreateIndexOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -34,18 +35,20 @@ public class MilvusCreateIndexOpDispenser extends MilvusBaseOpDispenser targetFunction
+ LongFunction targetFunction, LongFunction spaceF
) {
- super(adapter, op, targetFunction);
+ super(adapter, op, targetFunction,spaceF);
}
@Override
@@ -53,7 +56,7 @@ public class MilvusCreateIndexOpDispenser extends MilvusBaseOpDispenser bF =
l -> CreateIndexParam.newBuilder().withIndexName(targetF.apply(l));
- bF = op.enhanceFunc(bF, List.of("collection", "collection_name"), String.class,
+ bF = op.enhanceFunc(bF, "collection", String.class,
CreateIndexParam.Builder::withCollectionName);
bF = op.enhanceFunc(bF, "field_name", String.class, CreateIndexParam.Builder::withFieldName);
bF = op.enhanceEnumOptionally(bF, "index_type", IndexType.class, CreateIndexParam.Builder::withIndexType);
@@ -64,7 +67,7 @@ public class MilvusCreateIndexOpDispenser extends MilvusBaseOpDispenser b.withSyncWaitingInterval(n.longValue()));
bF = op.enhanceFuncOptionally(bF, "sync_waiting_timeout", Number.class,
(CreateIndexParam.Builder b, Number n) -> b.withSyncWaitingTimeout(n.longValue()));
- bF = op.enhanceFuncOptionally(bF, List.of("database", "database_name"), String.class,
+ bF = op.enhanceFuncOptionally(bF, "database", String.class,
CreateIndexParam.Builder::withDatabaseName);
LongFunction finalBF1 = bF;
return l -> finalBF1.apply(l).build();
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusCreatePartitionOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusCreatePartitionOpDispenser.java
index c20b07ebf..22b75fa1a 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusCreatePartitionOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusCreatePartitionOpDispenser.java
@@ -19,6 +19,7 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.partition.CreatePartitionParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusCreatePartitionOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -30,8 +31,10 @@ public class MilvusCreatePartitionOpDispenser extends MilvusBaseOpDispenser targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
@@ -43,7 +46,7 @@ public class MilvusCreatePartitionOpDispenser extends MilvusBaseOpDispenser ebF =
l -> CreatePartitionParam.newBuilder().withCollectionName(targetF.apply(l));
// Add enhancement functions here
- ebF = op.enhanceFunc(ebF, List.of("collection","collection_name"),String.class,
+ ebF = op.enhanceFunc(ebF, "collection",String.class,
CreatePartitionParam.Builder::withCollectionName);
final LongFunction lastF = ebF;
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusDeleteCredentialOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusDeleteCredentialOpDispenser.java
index fd846c43b..8b4fbb643 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusDeleteCredentialOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusDeleteCredentialOpDispenser.java
@@ -19,6 +19,7 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.credential.DeleteCredentialParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusDeleteCredentialOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -29,8 +30,10 @@ public class MilvusDeleteCredentialOpDispenser extends MilvusBaseOpDispenser targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusDeleteOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusDeleteOpDispenser.java
index b3e74f124..ba4567063 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusDeleteOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusDeleteOpDispenser.java
@@ -21,6 +21,7 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.dml.DeleteParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusDeleteParamOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -32,15 +33,17 @@ import java.util.function.LongFunction;
public class MilvusDeleteOpDispenser extends MilvusBaseOpDispenser {
public MilvusDeleteOpDispenser(MilvusDriverAdapter adapter,
ParsedOp op,
- LongFunction targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction,spaceF);
}
@Override
public LongFunction getParamFunc(LongFunction clientF, ParsedOp op, LongFunction targetF) {
LongFunction f =
l -> DeleteParam.newBuilder().withCollectionName(targetF.apply(l));
- f = op.enhanceFuncOptionally(f, List.of("partition_name","partition"), String.class,
+ f = op.enhanceFuncOptionally(f, "partition", String.class,
DeleteParam.Builder::withPartitionName);
f = op.enhanceFuncOptionally(f, "expression", String.class, DeleteParam.Builder::withExpr);
f = op.enhanceFuncOptionally(f, "expr", String.class, Builder::withExpr);
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusDescribeCollectionOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusDescribeCollectionOpDispenser.java
index 267c1d5a0..e61e55ca1 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusDescribeCollectionOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusDescribeCollectionOpDispenser.java
@@ -18,8 +18,8 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.collection.DescribeCollectionParam;
-import io.milvus.param.partition.CreatePartitionParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusDescribeCollectionOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -31,8 +31,10 @@ public class MilvusDescribeCollectionOpDispenser extends MilvusBaseOpDispenser targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
@@ -44,7 +46,7 @@ public class MilvusDescribeCollectionOpDispenser extends MilvusBaseOpDispenser ebF =
l -> DescribeCollectionParam.newBuilder().withCollectionName(targetF.apply(l));
- ebF = op.enhanceFuncOptionally(ebF, List.of("database","database_name"),String.class,
+ ebF = op.enhanceFuncOptionally(ebF, "database",String.class,
DescribeCollectionParam.Builder::withDatabaseName);
final LongFunction lastF = ebF;
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusDescribeIndexOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusDescribeIndexOpDispenser.java
index 97a25a024..bce52e6b2 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusDescribeIndexOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusDescribeIndexOpDispenser.java
@@ -19,6 +19,7 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.index.DescribeIndexParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusDescribeIndexOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -35,8 +36,10 @@ public class MilvusDescribeIndexOpDispenser extends MilvusBaseOpDispenser targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
op.getOptionalStaticValue("await_timeout", Number.class)
.map(Number::doubleValue)
@@ -53,9 +56,9 @@ public class MilvusDescribeIndexOpDispenser extends MilvusBaseOpDispenser ebF =
l -> DescribeIndexParam.newBuilder().withIndexName(targetF.apply(l));
- ebF = op.enhanceFunc(ebF, List.of("collection","collection_name"), String.class,
+ ebF = op.enhanceFunc(ebF, "collection", String.class,
DescribeIndexParam.Builder::withCollectionName);
- ebF = op.enhanceFuncOptionally(ebF, List.of("database_name","database"), String.class,
+ ebF = op.enhanceFuncOptionally(ebF, "database", String.class,
DescribeIndexParam.Builder::withDatabaseName);
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusDropAliasOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusDropAliasOpDispenser.java
index 303b42e59..2fcc8699f 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusDropAliasOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusDropAliasOpDispenser.java
@@ -19,6 +19,7 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.alias.DropAliasParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusDropAliasOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -29,8 +30,10 @@ public class MilvusDropAliasOpDispenser extends MilvusBaseOpDispenser targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusDropCollectionOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusDropCollectionOpDispenser.java
index fec247f08..f3fd94863 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusDropCollectionOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusDropCollectionOpDispenser.java
@@ -21,6 +21,7 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.collection.DropCollectionParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusDropCollectionOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -34,18 +35,23 @@ public class MilvusDropCollectionOpDispenser extends MilvusBaseOpDispenserCreate a new {@link MilvusDropCollectionOpDispenser} subclassed from {@link MilvusBaseOpDispenser}.
- *
- * {@see Drop Collection }
- *
- * @param adapter The associated {@link MilvusDriverAdapter}
- * @param op The {@link ParsedOp} encapsulating the activity for this cycle
- * @param targetFunction A LongFunction that returns the specified Milvus Index for this Op
+ Create a new {@link MilvusDropCollectionOpDispenser} subclassed from
+ {@link MilvusBaseOpDispenser}.
+
+ {@see Drop Collection }
+ @param adapter
+ The associated {@link MilvusDriverAdapter}
+ @param op
+ The {@link ParsedOp} encapsulating the activity for this cycle
+ @param targetFunction
+ A LongFunction that returns the specified Milvus Index for this Op
*/
public MilvusDropCollectionOpDispenser(MilvusDriverAdapter adapter,
ParsedOp op,
- LongFunction targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction,spaceF);
}
@Override
@@ -55,7 +61,7 @@ public class MilvusDropCollectionOpDispenser extends MilvusBaseOpDispenser targetF) {
LongFunction f =
l -> DropCollectionParam.newBuilder().withCollectionName(targetF.apply(l));
- f = op.enhanceFuncOptionally(f, List.of("database","database_name"),String.class,
+ f = op.enhanceFuncOptionally(f, "database",String.class,
DropCollectionParam.Builder::withDatabaseName);
LongFunction finalF = f;
return l -> finalF.apply(l).build();
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusDropDatabaseOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusDropDatabaseOpDispenser.java
index 31101259c..993af3b5f 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusDropDatabaseOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusDropDatabaseOpDispenser.java
@@ -19,6 +19,7 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.collection.DropDatabaseParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusDropDatabaseOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -29,8 +30,10 @@ public class MilvusDropDatabaseOpDispenser extends MilvusBaseOpDispenser targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusDropIndexOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusDropIndexOpDispenser.java
index ac96796d4..d9d0d4c20 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusDropIndexOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusDropIndexOpDispenser.java
@@ -21,39 +21,38 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.index.DropIndexParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusDropIndexOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
import java.util.List;
import java.util.function.LongFunction;
public class MilvusDropIndexOpDispenser extends MilvusBaseOpDispenser {
/**
- * Create a new MilvusDeleteOpDispenser subclassed from {@link MilvusBaseOpDispenser}.
- * {@see Drop Index }
- *
- *
- * @param adapter
- * The associated {@link MilvusDriverAdapter}
- * @param op
- * The {@link ParsedOp} encapsulating the activity for this cycle
- * @param targetFunction
- * A LongFunction that returns the specified Milvus Index for this Op
+ Create a new MilvusDeleteOpDispenser subclassed from {@link MilvusBaseOpDispenser}.
+ {@see Drop Index }
+ @param adapter
+ The associated {@link MilvusDriverAdapter}
+ @param op
+ The {@link ParsedOp} encapsulating the activity for this cycle
+ @param targetFunction
+ A LongFunction that returns the specified Milvus Index for this Op
*/
public MilvusDropIndexOpDispenser(MilvusDriverAdapter adapter,
ParsedOp op,
- LongFunction targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction,spaceF);
}
@Override
public LongFunction getParamFunc(LongFunction clientF, ParsedOp op, LongFunction targetF) {
LongFunction f =
l -> DropIndexParam.newBuilder().withIndexName(targetF.apply(l));
- f = op.enhanceFunc(f, List.of("collection_name","collection"),String.class,
+ f = op.enhanceFunc(f, "collection",String.class,
DropIndexParam.Builder::withCollectionName);
LongFunction finalF = f;
return l -> finalF.apply(1).build();
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusDropPartitionOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusDropPartitionOpDispenser.java
index a4021f05d..d5d5e8f6d 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusDropPartitionOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusDropPartitionOpDispenser.java
@@ -17,9 +17,9 @@
package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
-import io.milvus.param.partition.CreatePartitionParam;
import io.milvus.param.partition.DropPartitionParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusDropPartitionOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -31,8 +31,10 @@ public class MilvusDropPartitionOpDispenser extends MilvusBaseOpDispenser targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
@@ -43,7 +45,7 @@ public class MilvusDropPartitionOpDispenser extends MilvusBaseOpDispenser ebF =
l -> DropPartitionParam.newBuilder().withPartitionName(targetF.apply(l));
- ebF = op.enhanceFunc(ebF, List.of("collection_name","collection"),String.class,
+ ebF = op.enhanceFunc(ebF, "collection",String.class,
DropPartitionParam.Builder::withCollectionName);
final LongFunction lastF = ebF;
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusFlushOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusFlushOpDispenser.java
index 4f6e38fbe..93471589d 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusFlushOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusFlushOpDispenser.java
@@ -19,6 +19,7 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.collection.FlushParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusFlushOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -31,8 +32,10 @@ public class MilvusFlushOpDispenser extends MilvusBaseOpDispenser {
public MilvusFlushOpDispenser(MilvusDriverAdapter adapter,
ParsedOp op,
- LongFunction targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction,spaceF);
}
@Override
@@ -51,7 +54,7 @@ public class MilvusFlushOpDispenser extends MilvusBaseOpDispenser {
};
LongFunction finalEbF = ebF;
ebF = l -> finalEbF.apply(l).withCollectionNames(cnames.apply(l));
- ebF = op.enhanceFuncOptionally(ebF, List.of("database_name", "database"), String.class,
+ ebF = op.enhanceFuncOptionally(ebF, "database", String.class,
FlushParam.Builder::withDatabaseName);
ebF = op.enhanceFuncOptionally(ebF, "sync_flush_waiting_interval", Number.class,
(FlushParam.Builder b, Number n) -> b.withSyncFlushWaitingInterval(n.longValue()));
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetBulkInsertStateOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetBulkInsertStateOpDispenser.java
index 27d7ad9ce..b18ff0514 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetBulkInsertStateOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetBulkInsertStateOpDispenser.java
@@ -19,9 +19,9 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.bulkinsert.GetBulkInsertStateParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusGetBulkInsertStateOp;
-import io.nosqlbench.adapter.milvus.ops.MilvusGetCollectionStatisticsOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
import java.util.function.LongFunction;
@@ -30,8 +30,10 @@ public class MilvusGetBulkInsertStateOpDispenser extends MilvusBaseOpDispenser targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetCollectionStatisticsOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetCollectionStatisticsOpDispenser.java
index 26864609e..60dcdef69 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetCollectionStatisticsOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetCollectionStatisticsOpDispenser.java
@@ -19,6 +19,7 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.collection.GetCollectionStatisticsParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusGetCollectionStatisticsOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -30,8 +31,10 @@ public class MilvusGetCollectionStatisticsOpDispenser extends MilvusBaseOpDispen
public MilvusGetCollectionStatisticsOpDispenser(MilvusDriverAdapter adapter,
ParsedOp op,
- LongFunction targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
@@ -43,7 +46,7 @@ public class MilvusGetCollectionStatisticsOpDispenser extends MilvusBaseOpDispen
LongFunction ebF =
l -> GetCollectionStatisticsParam.newBuilder().withCollectionName(targetF.apply(l));
// Add enhancement functions here
- ebF = op.enhanceFuncOptionally(ebF, List.of("database_name","database"), String.class,
+ ebF = op.enhanceFuncOptionally(ebF, "database", String.class,
GetCollectionStatisticsParam.Builder::withDatabaseName);
ebF = op.enhanceFuncOptionally(ebF,"flush",Boolean.class,GetCollectionStatisticsParam.Builder::withFlush);
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetCompactionStateOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetCompactionStateOpDispenser.java
index ce214fce4..deb015142 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetCompactionStateOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetCompactionStateOpDispenser.java
@@ -19,6 +19,7 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.control.GetCompactionStateParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusGetCompactionStateOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -29,8 +30,10 @@ public class MilvusGetCompactionStateOpDispenser extends MilvusBaseOpDispenser targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetCompactionStateWithPlansOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetCompactionStateWithPlansOpDispenser.java
index 60f13a0c5..0c78450dc 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetCompactionStateWithPlansOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetCompactionStateWithPlansOpDispenser.java
@@ -18,8 +18,8 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.control.GetCompactionPlansParam;
-import io.milvus.param.control.GetCompactionPlansParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusGetCompactionStateWithPlansOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -30,8 +30,10 @@ public class MilvusGetCompactionStateWithPlansOpDispenser extends MilvusBaseOpDi
public MilvusGetCompactionStateWithPlansOpDispenser(MilvusDriverAdapter adapter,
ParsedOp op,
- LongFunction targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetFlushAllStateOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetFlushAllStateOpDispenser.java
index 3fa532c22..117bda2e7 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetFlushAllStateOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetFlushAllStateOpDispenser.java
@@ -19,6 +19,7 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.control.GetFlushAllStateParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusGetFlushAllStateOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -29,8 +30,10 @@ public class MilvusGetFlushAllStateOpDispenser extends MilvusBaseOpDispenser targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetFlushStateOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetFlushStateOpDispenser.java
index 5eedd57ef..e7e6e36dc 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetFlushStateOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetFlushStateOpDispenser.java
@@ -19,6 +19,7 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.control.GetFlushStateParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusGetFlushStateOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -31,8 +32,9 @@ public class MilvusGetFlushStateOpDispenser extends MilvusBaseOpDispenser targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
@@ -52,7 +54,7 @@ public class MilvusGetFlushStateOpDispenser extends MilvusBaseOpDispenser finalEbF = ebF;
ebF = l -> finalEbF.apply(l).withSegmentIDs(idsF.apply(l));
- ebF = op.enhanceFuncOptionally(ebF, List.of("collection", "collection_name"), String.class,
+ ebF = op.enhanceFuncOptionally(ebF, "collection", String.class,
GetFlushStateParam.Builder::withCollectionName);
ebF = op.enhanceFuncOptionally(ebF, "flush_ts", Number.class,
(GetFlushStateParam.Builder b, Number n) -> b.withFlushTs(n.longValue()));
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetIndexBuildProgressOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetIndexBuildProgressOpDispenser.java
index eeef876d8..e650a0364 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetIndexBuildProgressOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetIndexBuildProgressOpDispenser.java
@@ -19,6 +19,7 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.index.GetIndexBuildProgressParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusGetIndexBuildProgressOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -30,8 +31,10 @@ public class MilvusGetIndexBuildProgressOpDispenser extends MilvusBaseOpDispense
public MilvusGetIndexBuildProgressOpDispenser(MilvusDriverAdapter adapter,
ParsedOp op,
- LongFunction targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
@@ -42,7 +45,7 @@ public class MilvusGetIndexBuildProgressOpDispenser extends MilvusBaseOpDispense
) {
LongFunction ebF =
l -> GetIndexBuildProgressParam.newBuilder().withIndexName(targetF.apply(l));
- ebF = op.enhanceFuncOptionally(ebF, List.of("collection_name","collection"),String.class,
+ ebF = op.enhanceFuncOptionally(ebF, "collection",String.class,
GetIndexBuildProgressParam.Builder::withCollectionName);
final LongFunction lastF = ebF;
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetIndexStateOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetIndexStateOpDispenser.java
index a78ade567..a7d124cad 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetIndexStateOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetIndexStateOpDispenser.java
@@ -19,6 +19,7 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.index.GetIndexStateParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusGetIndexStateOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -30,8 +31,10 @@ public class MilvusGetIndexStateOpDispenser extends MilvusBaseOpDispenser targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
@@ -42,7 +45,7 @@ public class MilvusGetIndexStateOpDispenser extends MilvusBaseOpDispenser ebF =
l -> GetIndexStateParam.newBuilder().withIndexName(targetF.apply(l));
- ebF = op.enhanceFuncOptionally(ebF, List.of("collection_name","collection"),String.class,
+ ebF = op.enhanceFuncOptionally(ebF, "collection",String.class,
GetIndexStateParam.Builder::withCollectionName);
final LongFunction lastF = ebF;
final LongFunction collectionParamF = l -> lastF.apply(l).build();
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetLoadStateOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetLoadStateOpDispenser.java
index a9dc0421b..8f9a844ea 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetLoadStateOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetLoadStateOpDispenser.java
@@ -21,6 +21,7 @@ import io.milvus.grpc.LoadState;
import io.milvus.param.collection.GetLoadStateParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
import io.nosqlbench.adapter.milvus.MilvusAdapterUtils;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusGetLoadStateOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -40,15 +41,17 @@ public class MilvusGetLoadStateOpDispenser extends MilvusBaseOpDispenser targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
op.getOptionalStaticValue("await_timeout", Number.class)
.map(Number::doubleValue)
.ifPresent(v->this.awaitTimeout=Duration.of((long)(v*1000),ChronoUnit.MILLIS));
op.getOptionalStaticValue("await_interval", Number.class)
.map(Number::doubleValue).ifPresent(v->this.awaitInterval=Duration.of((long)(v*1000),ChronoUnit.MILLIS));
op.getOptionalStaticValue("await_state", String.class).ifPresent(s -> {
- var spec = s.toLowerCase();
+ String spec = s.toLowerCase();
for (LoadState value : LoadState.values()) {
if (value.name().toLowerCase().equals(spec) || value.name().toLowerCase().equals("loadstate" + spec)) {
this.awaitState = value;
@@ -70,7 +73,7 @@ public class MilvusGetLoadStateOpDispenser extends MilvusBaseOpDispenser ebF =
l -> GetLoadStateParam.newBuilder().withCollectionName(targetF.apply(l));
- ebF = op.enhanceFuncOptionally(ebF, List.of("database_name", "database"), String.class,
+ ebF = op.enhanceFuncOptionally(ebF, "database", String.class,
GetLoadStateParam.Builder::withDatabaseName);
Optional> partitionsF = op.getAsOptionalFunction("partition_name", String.class);
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetLoadingProgressOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetLoadingProgressOpDispenser.java
index e53a7f5f3..ce8463901 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetLoadingProgressOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetLoadingProgressOpDispenser.java
@@ -19,6 +19,7 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.collection.GetLoadingProgressParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusGetLoadingProgressOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -30,8 +31,10 @@ public class MilvusGetLoadingProgressOpDispenser extends MilvusBaseOpDispenser targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
@@ -42,7 +45,7 @@ public class MilvusGetLoadingProgressOpDispenser extends MilvusBaseOpDispenser ebF =
l -> GetLoadingProgressParam.newBuilder().withCollectionName(targetF.apply(l));
- ebF = op.enhanceFuncOptionally(ebF, List.of("partition_names","partitions"), List.class,
+ ebF = op.enhanceFuncOptionally(ebF, "partitions", List.class,
GetLoadingProgressParam.Builder::withPartitionNames);
final LongFunction lastF = ebF;
return l -> lastF.apply(l).build();
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetMetricsOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetMetricsOpDispenser.java
index a1127c22b..60610c769 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetMetricsOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetMetricsOpDispenser.java
@@ -19,6 +19,7 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.control.GetMetricsParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusGetMetricsOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -29,8 +30,10 @@ public class MilvusGetMetricsOpDispenser extends MilvusBaseOpDispenser targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetOpDispenser.java
index c4c8722bc..937c07879 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetOpDispenser.java
@@ -21,6 +21,7 @@ import io.milvus.common.clientenum.ConsistencyLevelEnum;
import io.milvus.param.highlevel.dml.GetIdsParam;
import io.nosqlbench.adapter.milvus.MilvusAdapterUtils;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusGetOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -46,8 +47,10 @@ public class MilvusGetOpDispenser extends MilvusBaseOpDispenser {
public MilvusGetOpDispenser(MilvusDriverAdapter adapter,
ParsedOp op,
- LongFunction targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
@@ -75,7 +78,7 @@ public class MilvusGetOpDispenser extends MilvusBaseOpDispenser {
LongFunction finalEbF2 = ebF;
ebF = l -> finalEbF2.apply(l).withPrimaryIds(pidsF.apply(l));
- ebF = op.enhanceFuncOptionally(ebF, List.of("collection_name", "collection"), String.class,
+ ebF = op.enhanceFuncOptionally(ebF, "collection", String.class,
GetIdsParam.Builder::withCollectionName);
ebF = op.enhanceEnumOptionally(ebF, "consistency_level", ConsistencyLevelEnum.class,
GetIdsParam.Builder::withConsistencyLevel);
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetPartitionStatisticsOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetPartitionStatisticsOpDispenser.java
index dd93f8a52..e95b64343 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetPartitionStatisticsOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetPartitionStatisticsOpDispenser.java
@@ -19,6 +19,7 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.partition.GetPartitionStatisticsParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusGetPartitionStatisticsOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -30,8 +31,10 @@ public class MilvusGetPartitionStatisticsOpDispenser extends MilvusBaseOpDispens
public MilvusGetPartitionStatisticsOpDispenser(MilvusDriverAdapter adapter,
ParsedOp op,
- LongFunction targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
@@ -42,7 +45,7 @@ public class MilvusGetPartitionStatisticsOpDispenser extends MilvusBaseOpDispens
) {
LongFunction ebF =
l -> GetPartitionStatisticsParam.newBuilder().withPartitionName(targetF.apply(l));
- ebF = op.enhanceFuncOptionally(ebF, List.of("collection_name","collection"),String.class,
+ ebF = op.enhanceFuncOptionally(ebF, "collection",String.class,
GetPartitionStatisticsParam.Builder::withCollectionName);
ebF = op.enhanceFuncOptionally(ebF, "flush",Boolean.class, GetPartitionStatisticsParam.Builder::withFlush);
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetPersistentSegmentInfoOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetPersistentSegmentInfoOpDispenser.java
index 5a7ef8c38..684c9543d 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetPersistentSegmentInfoOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetPersistentSegmentInfoOpDispenser.java
@@ -19,6 +19,7 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.partition.GetPartitionStatisticsParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusGetPartitionStatisticsOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -30,8 +31,10 @@ public class MilvusGetPersistentSegmentInfoOpDispenser extends MilvusBaseOpDispe
public MilvusGetPersistentSegmentInfoOpDispenser(MilvusDriverAdapter adapter,
ParsedOp op,
- LongFunction targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
@@ -44,7 +47,7 @@ public class MilvusGetPersistentSegmentInfoOpDispenser extends MilvusBaseOpDispe
l -> GetPartitionStatisticsParam.newBuilder().withPartitionName(targetF.apply(l));
ebF = op.enhanceFuncOptionally(ebF,"flush",Boolean.class,GetPartitionStatisticsParam.Builder::withFlush);
- ebF = op.enhanceFuncOptionally(ebF, List.of("collection_name","collection"),String.class,
+ ebF = op.enhanceFuncOptionally(ebF, "collection",String.class,
GetPartitionStatisticsParam.Builder::withCollectionName);
final LongFunction lastF = ebF;
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetQuerySegmentInfoOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetQuerySegmentInfoOpDispenser.java
index b0b367446..b6d028758 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetQuerySegmentInfoOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetQuerySegmentInfoOpDispenser.java
@@ -19,6 +19,7 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.control.GetQuerySegmentInfoParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusGetQuerySegmentInfoOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -29,8 +30,10 @@ public class MilvusGetQuerySegmentInfoOpDispenser extends MilvusBaseOpDispenser<
public MilvusGetQuerySegmentInfoOpDispenser(MilvusDriverAdapter adapter,
ParsedOp op,
- LongFunction targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetReplicasOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetReplicasOpDispenser.java
index 8fc1a2208..042798a3e 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetReplicasOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusGetReplicasOpDispenser.java
@@ -19,6 +19,7 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.control.GetReplicasParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusGetReplicasOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -29,8 +30,10 @@ public class MilvusGetReplicasOpDispenser extends MilvusBaseOpDispenser targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusHasPartitionOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusHasPartitionOpDispenser.java
index 14fa9323b..e1effa162 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusHasPartitionOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusHasPartitionOpDispenser.java
@@ -19,6 +19,7 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.partition.HasPartitionParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusHasPartitionOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -30,8 +31,9 @@ public class MilvusHasPartitionOpDispenser extends MilvusBaseOpDispenser targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
@@ -42,7 +44,7 @@ public class MilvusHasPartitionOpDispenser extends MilvusBaseOpDispenser ebF =
l -> HasPartitionParam.newBuilder().withPartitionName(targetF.apply(l));
- ebF = op.enhanceFuncOptionally(ebF, List.of("collection_name","collection"),String.class,
+ ebF = op.enhanceFuncOptionally(ebF, "collection",String.class,
HasPartitionParam.Builder::withCollectionName);
final LongFunction lastF = ebF;
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusInsertOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusInsertOpDispenser.java
index c0f92eb7a..f9170b850 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusInsertOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusInsertOpDispenser.java
@@ -22,6 +22,7 @@ import com.alibaba.fastjson.JSONObject;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.dml.InsertParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusInsertOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -29,9 +30,7 @@ import io.nosqlbench.nb.api.errors.OpConfigError;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import java.util.ArrayList;
import java.util.List;
-import java.util.Map;
import java.util.Optional;
import java.util.function.LongFunction;
@@ -39,16 +38,20 @@ public class MilvusInsertOpDispenser extends MilvusBaseOpDispenser
private static final Logger logger = LogManager.getLogger(MilvusInsertOpDispenser.class);
/**
- * Create a new MilvusDeleteOpDispenser subclassed from {@link MilvusBaseOpDispenser}.
- *
- * @param adapter The associated {@link MilvusDriverAdapter}
- * @param op The {@link ParsedOp} encapsulating the activity for this cycle
- * @param targetFunction A LongFunction that returns the specified Milvus Index for this Op
+ Create a new MilvusDeleteOpDispenser subclassed from {@link MilvusBaseOpDispenser}.
+ @param adapter
+ The associated {@link MilvusDriverAdapter}
+ @param op
+ The {@link ParsedOp} encapsulating the activity for this cycle
+ @param targetFunction
+ A LongFunction that returns the specified Milvus Index for this Op
*/
public MilvusInsertOpDispenser(MilvusDriverAdapter adapter,
ParsedOp op,
- LongFunction targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction,spaceF);
}
@Override
@@ -57,11 +60,11 @@ public class MilvusInsertOpDispenser extends MilvusBaseOpDispenser
l -> InsertParam.newBuilder().withCollectionName(targetF.apply(l));
f = op.enhanceFuncOptionally(
- f, List.of("partition_name","partition"), String.class,
+ f, "partition", String.class,
InsertParam.Builder::withPartitionName
);
f = op.enhanceFuncOptionally(
- f, List.of("database_name","database"), String.class,
+ f, "database", String.class,
InsertParam.Builder::withDatabaseName
);
@@ -76,13 +79,13 @@ public class MilvusInsertOpDispenser extends MilvusBaseOpDispenser
}
if (optionalRowsF.isPresent()) {
- var rf = optionalRowsF.get();
+ LongFunction> rf = optionalRowsF.get();
LongFunction finalF2 = f;
f = l -> finalF2.apply(l).withRows(rf.apply(l));
}
if (optionalFieldsF.isPresent()) {
- var ff = optionalFieldsF.get();
+ LongFunction> ff = optionalFieldsF.get();
LongFunction finalF3 = f;
f = l -> finalF3.apply(l).withFields(ff.apply(l));
}
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusInsertRowsOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusInsertRowsOpDispenser.java
index bfc7cdd96..5ae95d7d7 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusInsertRowsOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusInsertRowsOpDispenser.java
@@ -18,43 +18,38 @@ package io.nosqlbench.adapter.milvus.opdispensers;
*/
-import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import io.milvus.client.MilvusServiceClient;
-import io.milvus.param.dml.InsertParam;
import io.milvus.param.highlevel.dml.InsertRowsParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
-import io.nosqlbench.adapter.milvus.ops.MilvusInsertOp;
import io.nosqlbench.adapter.milvus.ops.MilvusInsertRowsOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
-import io.nosqlbench.nb.api.errors.OpConfigError;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import java.util.ArrayList;
import java.util.List;
-import java.util.Map;
-import java.util.Optional;
import java.util.function.LongFunction;
public class MilvusInsertRowsOpDispenser extends MilvusBaseOpDispenser {
private static final Logger logger = LogManager.getLogger(MilvusInsertRowsOpDispenser.class);
/**
- * Create a new MilvusDeleteOpDispenser subclassed from {@link MilvusBaseOpDispenser}.
- *
- * @param adapter
- * The associated {@link MilvusDriverAdapter}
- * @param op
- * The {@link ParsedOp} encapsulating the activity for this cycle
- * @param targetFunction
- * A LongFunction that returns the specified Milvus Index for this Op
+ Create a new MilvusDeleteOpDispenser subclassed from {@link MilvusBaseOpDispenser}.
+ @param adapter
+ The associated {@link MilvusDriverAdapter}
+ @param op
+ The {@link ParsedOp} encapsulating the activity for this cycle
+ @param targetFunction
+ A LongFunction that returns the specified Milvus Index for this Op
*/
public MilvusInsertRowsOpDispenser(MilvusDriverAdapter adapter,
ParsedOp op,
- LongFunction targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction,spaceF);
}
@Override
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusListBulkInsertTasksOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusListBulkInsertTasksOpDispenser.java
index 237ddcabe..8069068f4 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusListBulkInsertTasksOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusListBulkInsertTasksOpDispenser.java
@@ -19,6 +19,7 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.bulkinsert.ListBulkInsertTasksParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusListBulkInsertTasksOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -29,8 +30,10 @@ public class MilvusListBulkInsertTasksOpDispenser extends MilvusBaseOpDispenser<
public MilvusListBulkInsertTasksOpDispenser(MilvusDriverAdapter adapter,
ParsedOp op,
- LongFunction targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusListCollectionsOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusListCollectionsOpDispenser.java
index 6d07a857c..97dd8342e 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusListCollectionsOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusListCollectionsOpDispenser.java
@@ -19,6 +19,7 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.highlevel.collection.ListCollectionsParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusListCollectionsOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -29,8 +30,10 @@ public class MilvusListCollectionsOpDispenser extends MilvusBaseOpDispenser targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusListCredUsersOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusListCredUsersOpDispenser.java
index 5ef5f7f7e..1faa6894a 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusListCredUsersOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusListCredUsersOpDispenser.java
@@ -19,6 +19,7 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.credential.ListCredUsersParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusListCredUsersOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -29,8 +30,10 @@ public class MilvusListCredUsersOpDispenser extends MilvusBaseOpDispenser targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusListDatabasesOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusListDatabasesOpDispenser.java
index 83eea541d..025e4e70f 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusListDatabasesOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusListDatabasesOpDispenser.java
@@ -18,6 +18,7 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusListDatabasesOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -28,8 +29,10 @@ public class MilvusListDatabasesOpDispenser extends MilvusBaseOpDispenser targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusLoadBalanceOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusLoadBalanceOpDispenser.java
index 209a6c185..bbbc1e8ba 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusLoadBalanceOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusLoadBalanceOpDispenser.java
@@ -19,6 +19,7 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.control.LoadBalanceParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusLoadBalanceOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -29,8 +30,10 @@ public class MilvusLoadBalanceOpDispenser extends MilvusBaseOpDispenser targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusLoadCollectionOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusLoadCollectionOpDispenser.java
index a66853eb9..be7390325 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusLoadCollectionOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusLoadCollectionOpDispenser.java
@@ -19,6 +19,7 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.collection.LoadCollectionParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusLoadCollectionOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -30,8 +31,10 @@ public class MilvusLoadCollectionOpDispenser extends MilvusBaseOpDispenser targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
@@ -43,7 +46,7 @@ public class MilvusLoadCollectionOpDispenser extends MilvusBaseOpDispenser ebF =
l -> LoadCollectionParam.newBuilder().withCollectionName(targetF.apply(l));
- ebF = op.enhanceFuncOptionally(ebF, List.of("database_name", "database"), String.class,
+ ebF = op.enhanceFuncOptionally(ebF, "database", String.class,
LoadCollectionParam.Builder::withDatabaseName);
ebF = op.enhanceFuncOptionally(ebF, "refresh", Boolean.class, LoadCollectionParam.Builder::withRefresh);
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusLoadPartitionsOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusLoadPartitionsOpDispenser.java
index 0f96c31ac..5430afb08 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusLoadPartitionsOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusLoadPartitionsOpDispenser.java
@@ -19,6 +19,7 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.partition.LoadPartitionsParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusLoadPartitionsOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -29,16 +30,15 @@ import java.util.function.LongFunction;
public class MilvusLoadPartitionsOpDispenser extends MilvusBaseOpDispenser {
/**
- * TODO: Refactor this class after API refinements for more type and target variation
- *
- * @param adapter
- * @param op
- * @param targetFunction
+ TODO: Refactor this class after API refinements for more type and target variation
+ @param adapter
*/
public MilvusLoadPartitionsOpDispenser(MilvusDriverAdapter adapter,
ParsedOp op,
- LongFunction targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
@@ -50,14 +50,14 @@ public class MilvusLoadPartitionsOpDispenser extends MilvusBaseOpDispenser ebF =
l -> LoadPartitionsParam.newBuilder().withCollectionName(targetF.apply(l));
- ebF = op.enhanceFunc(ebF, List.of("partition_names", "partitions"), List.class,
+ ebF = op.enhanceFunc(ebF, "partitions", List.class,
LoadPartitionsParam.Builder::withPartitionNames);
ebF = op.enhanceFuncOptionally(
ebF, "resource_groups", List.class,
LoadPartitionsParam.Builder::withResourceGroups
);
ebF = op.enhanceFuncOptionally(
- ebF, List.of("database_name", "database"), String.class,
+ ebF, "database", String.class,
LoadPartitionsParam.Builder::withDatabaseName
);
ebF = op.enhanceFuncOptionally(ebF, "refresh", Boolean.class, LoadPartitionsParam.Builder::withRefresh);
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusLoadingProgressOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusLoadingProgressOpDispenser.java
index 0a64fe857..4d7251478 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusLoadingProgressOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusLoadingProgressOpDispenser.java
@@ -19,8 +19,10 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.collection.GetLoadingProgressParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusGetLoadingProgressOp;
+import io.nosqlbench.adapter.milvus.ops.MilvusSearchOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
import java.util.List;
@@ -30,8 +32,9 @@ public class MilvusLoadingProgressOpDispenser extends MilvusBaseOpDispenser targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
@@ -42,7 +45,7 @@ public class MilvusLoadingProgressOpDispenser extends MilvusBaseOpDispenser ebF =
l -> GetLoadingProgressParam.newBuilder().withCollectionName(targetF.apply(l));
- ebF = op.enhanceFuncOptionally(ebF,List.of("partition_names","partitions"), List.class,
+ ebF = op.enhanceFuncOptionally(ebF,"partitions", List.class,
GetLoadingProgressParam.Builder::withPartitionNames);
final LongFunction lastF = ebF;
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusManualCompactOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusManualCompactOpDispenser.java
index a3f5e51b3..ac4d359e3 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusManualCompactOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusManualCompactOpDispenser.java
@@ -19,6 +19,7 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.control.ManualCompactParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusManualCompactOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -29,8 +30,10 @@ public class MilvusManualCompactOpDispenser extends MilvusBaseOpDispenser targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusQueryOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusQueryOpDispenser.java
index 25ddaf123..a2d2ac42b 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusQueryOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusQueryOpDispenser.java
@@ -20,6 +20,7 @@ import io.milvus.client.MilvusServiceClient;
import io.milvus.common.clientenum.ConsistencyLevelEnum;
import io.milvus.param.dml.QueryParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusQueryOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -31,8 +32,10 @@ public class MilvusQueryOpDispenser extends MilvusBaseOpDispenser {
public MilvusQueryOpDispenser(MilvusDriverAdapter adapter,
ParsedOp op,
- LongFunction targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
@@ -44,7 +47,7 @@ public class MilvusQueryOpDispenser extends MilvusBaseOpDispenser {
LongFunction ebF =
l -> QueryParam.newBuilder().withCollectionName(targetF.apply(l));
- ebF = op.enhanceFuncOptionally(ebF, List.of("partition_names", "partitions"), List.class,
+ ebF = op.enhanceFuncOptionally(ebF, "partitions", List.class,
QueryParam.Builder::withPartitionNames);
ebF = op.enhanceEnumOptionally(ebF, "consistency_level", ConsistencyLevelEnum.class, QueryParam.Builder::withConsistencyLevel);
ebF = op.enhanceFuncOptionally(ebF, "expr", String.class, QueryParam.Builder::withExpr);
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusReleaseCollectionOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusReleaseCollectionOpDispenser.java
index cdbf526fa..b4c6414e7 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusReleaseCollectionOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusReleaseCollectionOpDispenser.java
@@ -19,6 +19,7 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.collection.ReleaseCollectionParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusReleaseCollectionOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -29,8 +30,10 @@ public class MilvusReleaseCollectionOpDispenser extends MilvusBaseOpDispenser targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusReleasePartitionsOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusReleasePartitionsOpDispenser.java
index 740845ca8..30c87ce30 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusReleasePartitionsOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusReleasePartitionsOpDispenser.java
@@ -20,6 +20,7 @@ import io.milvus.client.MilvusServiceClient;
import io.milvus.param.partition.ReleasePartitionsParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
import io.nosqlbench.adapter.milvus.MilvusAdapterUtils;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusReleasePartitionsOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -31,8 +32,10 @@ public class MilvusReleasePartitionsOpDispenser extends MilvusBaseOpDispenser targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
@@ -47,7 +50,7 @@ public class MilvusReleasePartitionsOpDispenser extends MilvusBaseOpDispenser finalEbF = ebF;
ebF = l -> finalEbF.apply(l).withPartitionNames(partNamesF.apply(l));
- ebF = op.enhanceFuncOptionally(ebF,List.of("collection_name","collection"),String.class,
+ ebF = op.enhanceFuncOptionally(ebF,"collection",String.class,
ReleasePartitionsParam.Builder::withCollectionName);
final LongFunction lastF = ebF;
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusSearchOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusSearchOpDispenser.java
index 1362efb60..e0a26de35 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusSearchOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusSearchOpDispenser.java
@@ -21,6 +21,7 @@ import io.milvus.common.clientenum.ConsistencyLevelEnum;
import io.milvus.param.MetricType;
import io.milvus.param.dml.SearchParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusSearchOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -32,8 +33,9 @@ public class MilvusSearchOpDispenser extends MilvusBaseOpDispenser
public MilvusSearchOpDispenser(
MilvusDriverAdapter adapter,
ParsedOp op,
- LongFunction targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction, LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
@@ -43,7 +45,7 @@ public class MilvusSearchOpDispenser extends MilvusBaseOpDispenser
LongFunction ebF =
l -> SearchParam.newBuilder().withCollectionName(targetF.apply(l));
- ebF = op.enhanceFuncOptionally(ebF, List.of("partition_names", "partitions"), List.class, SearchParam.Builder::withPartitionNames);
+ ebF = op.enhanceFuncOptionally(ebF, "partitions", List.class, SearchParam.Builder::withPartitionNames);
ebF = op.enhanceFuncOptionally(ebF, "out_fields", List.class, SearchParam.Builder::withOutFields);
@@ -56,7 +58,7 @@ public class MilvusSearchOpDispenser extends MilvusBaseOpDispenser
(SearchParam.Builder b, Number n) -> b.withRoundDecimal(n.intValue()));
ebF = op.enhanceFuncOptionally(ebF, "ignore_growing", Boolean.class, SearchParam.Builder::withIgnoreGrowing);
ebF = op.enhanceFuncOptionally(ebF, "params", String.class, SearchParam.Builder::withParams);
- ebF = op.enhanceFunc(ebF, List.of("vector_field_name", "vector_field"), String.class,
+ ebF = op.enhanceFunc(ebF, "vector_field", String.class,
SearchParam.Builder::withVectorFieldName);
// TODO: sanity check List of Floats vs List of List of Floats at func construction time.
ebF = op.enhanceFuncOptionally(ebF, "vectors", List.class, SearchParam.Builder::withVectors);
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusShowCollectionsOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusShowCollectionsOpDispenser.java
index a4db3cd5c..bd77b4bba 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusShowCollectionsOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusShowCollectionsOpDispenser.java
@@ -21,6 +21,7 @@ import io.milvus.grpc.ShowType;
import io.milvus.param.collection.ShowCollectionsParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
import io.nosqlbench.adapter.milvus.MilvusAdapterUtils;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusShowCollectionsOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -32,8 +33,10 @@ public class MilvusShowCollectionsOpDispenser extends MilvusBaseOpDispenser targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
@@ -47,7 +50,7 @@ public class MilvusShowCollectionsOpDispenser extends MilvusBaseOpDispenser> collectionsF = l -> MilvusAdapterUtils.splitNames(targetF.apply(l));
LongFunction finalEbF = ebF;
ebF = l -> finalEbF.apply(l).withCollectionNames(collectionsF.apply(l));
- ebF = op.enhanceFuncOptionally(ebF,List.of("database_name","database"),String.class,
+ ebF = op.enhanceFuncOptionally(ebF,"database",String.class,
ShowCollectionsParam.Builder::withDatabaseName);
ebF = op.enhanceEnumOptionally(ebF,"show_type", ShowType.class,ShowCollectionsParam.Builder::withShowType);
logger.warn(this.getClass().getSimpleName() + " is deprecated, use get_loading_progress instead");
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusShowPartitionsOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusShowPartitionsOpDispenser.java
index e68df7caf..4f9154c1b 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusShowPartitionsOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusShowPartitionsOpDispenser.java
@@ -20,6 +20,7 @@ import io.milvus.client.MilvusServiceClient;
import io.milvus.param.partition.ShowPartitionsParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
import io.nosqlbench.adapter.milvus.MilvusAdapterUtils;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusShowPartitionsOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -31,8 +32,10 @@ public class MilvusShowPartitionsOpDispenser extends MilvusBaseOpDispenser targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
@@ -47,7 +50,7 @@ public class MilvusShowPartitionsOpDispenser extends MilvusBaseOpDispenser> partitionsF = l -> MilvusAdapterUtils.splitNames(targetF.apply(l));
LongFunction finalEbF = ebF;
ebF = l -> finalEbF.apply(l).withPartitionNames(partitionsF.apply(l));
- ebF = op.enhanceFuncOptionally(ebF,List.of("collection_name","collection"),String.class,
+ ebF = op.enhanceFuncOptionally(ebF,"collection",String.class,
ShowPartitionsParam.Builder::withCollectionName);
final LongFunction lastF = ebF;
final LongFunction collectionParamF = l -> lastF.apply(l).build();
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusUpdateCredentialOpDispenser.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusUpdateCredentialOpDispenser.java
index ad6d35107..f05bdbd35 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusUpdateCredentialOpDispenser.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/opdispensers/MilvusUpdateCredentialOpDispenser.java
@@ -19,6 +19,7 @@ package io.nosqlbench.adapter.milvus.opdispensers;
import io.milvus.client.MilvusServiceClient;
import io.milvus.param.credential.UpdateCredentialParam;
import io.nosqlbench.adapter.milvus.MilvusDriverAdapter;
+import io.nosqlbench.adapter.milvus.MilvusSpace;
import io.nosqlbench.adapter.milvus.ops.MilvusBaseOp;
import io.nosqlbench.adapter.milvus.ops.MilvusUpdateCredentialOp;
import io.nosqlbench.adapters.api.templating.ParsedOp;
@@ -29,8 +30,10 @@ public class MilvusUpdateCredentialOpDispenser extends MilvusBaseOpDispenser targetFunction) {
- super(adapter, op, targetFunction);
+ LongFunction targetFunction,
+ LongFunction spaceF
+ ) {
+ super(adapter, op, targetFunction, spaceF);
}
@Override
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/ops/MilvusBaseOp.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/ops/MilvusBaseOp.java
index 19c62bd1a..deabff0d7 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/ops/MilvusBaseOp.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/ops/MilvusBaseOp.java
@@ -52,7 +52,7 @@ public abstract class MilvusBaseOp implements CycleOp {
try {
Object result = applyOp(value);
if (result instanceof R> r) {
- var error = r.getException();
+ Exception error = r.getException();
if (error!=null) {
throw error;
}
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/ops/MilvusDescribeIndexOp.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/ops/MilvusDescribeIndexOp.java
index 35f2c54fd..2029b8fb3 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/ops/MilvusDescribeIndexOp.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/ops/MilvusDescribeIndexOp.java
@@ -21,7 +21,7 @@ import io.milvus.grpc.DescribeIndexResponse;
import io.milvus.grpc.IndexDescription;
import io.milvus.param.R;
import io.milvus.param.index.DescribeIndexParam;
-import io.nosqlbench.adapters.api.activityimpl.uniform.flowtypes.Op;
+import io.nosqlbench.adapters.api.activityimpl.uniform.flowtypes.CycleOp;
import io.nosqlbench.adapters.api.activityimpl.uniform.flowtypes.OpGenerator;
import io.nosqlbench.adapters.api.scheduling.TimeoutPredicate;
@@ -98,7 +98,7 @@ public class MilvusDescribeIndexOp extends MilvusBaseOp impl
}
@Override
- public Op getNextOp() {
+ public CycleOp getNextOp() {
return nextOp;
}
}
diff --git a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/ops/MilvusGetLoadStateOp.java b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/ops/MilvusGetLoadStateOp.java
index 93cc6cf2e..9ea1f9946 100644
--- a/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/ops/MilvusGetLoadStateOp.java
+++ b/nb-adapters/adapter-milvus/src/main/java/io/nosqlbench/adapter/milvus/ops/MilvusGetLoadStateOp.java
@@ -22,7 +22,7 @@ import io.milvus.grpc.LoadState;
import io.milvus.param.R;
import io.milvus.param.collection.GetLoadStateParam;
import io.nosqlbench.adapter.milvus.exceptions.MilvusAwaitStateIncompleteError;
-import io.nosqlbench.adapters.api.activityimpl.uniform.flowtypes.Op;
+import io.nosqlbench.adapters.api.activityimpl.uniform.flowtypes.CycleOp;
import io.nosqlbench.adapters.api.activityimpl.uniform.flowtypes.OpGenerator;
import io.nosqlbench.adapters.api.scheduling.TimeoutPredicate;
@@ -65,7 +65,7 @@ public class MilvusGetLoadStateOp extends MilvusBaseOp implem
}
@Override
- public Op getNextOp() {
+ public CycleOp getNextOp() {
return this.nextOp;
}
}
diff --git a/nb-adapters/adapter-mongodb/src/main/java/io/nosqlbench/adapter/mongodb/core/MongoOpMapper.java b/nb-adapters/adapter-mongodb/src/main/java/io/nosqlbench/adapter/mongodb/core/MongoOpMapper.java
index 59d3e4335..3255dbf94 100644
--- a/nb-adapters/adapter-mongodb/src/main/java/io/nosqlbench/adapter/mongodb/core/MongoOpMapper.java
+++ b/nb-adapters/adapter-mongodb/src/main/java/io/nosqlbench/adapter/mongodb/core/MongoOpMapper.java
@@ -43,7 +43,7 @@ public class MongoOpMapper implements OpMapper<
}
@Override
- public OpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceInitF) {
+ public OpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceF) {
LongFunction ctxNamer = op.getAsFunctionOr("space", "default");
@@ -65,12 +65,12 @@ public class MongoOpMapper implements OpMapper<
if (target.isPresent()) {
TypeAndTarget targetData = target.get();
return switch (targetData.enumId) {
- case command -> new MongoCommandOpDispenser(adapter, spaceInitF, op);
+ case command -> new MongoCommandOpDispenser(adapter, spaceF, op);
};
}
// For everything else use the command API
else {
- return new MongoCommandOpDispenser(adapter, spaceInitF, op);
+ return new MongoCommandOpDispenser(adapter, spaceF, op);
}
diff --git a/nb-adapters/adapter-neo4j/src/main/java/io/nosqlbench/adapter/neo4j/Neo4JOpMapper.java b/nb-adapters/adapter-neo4j/src/main/java/io/nosqlbench/adapter/neo4j/Neo4JOpMapper.java
index f7431011c..36e3c75af 100644
--- a/nb-adapters/adapter-neo4j/src/main/java/io/nosqlbench/adapter/neo4j/Neo4JOpMapper.java
+++ b/nb-adapters/adapter-neo4j/src/main/java/io/nosqlbench/adapter/neo4j/Neo4JOpMapper.java
@@ -36,7 +36,7 @@ public class Neo4JOpMapper implements OpMapper {
}
@Override
- public OpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceInitF) {
+ public OpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceF) {
TypeAndTarget typeAndTarget = op.getTypeAndTarget(Neo4JOpType.class, String.class);
LongFunction spaceFunc = adapter.getSpaceFunc(op);
return switch (typeAndTarget.enumId) {
diff --git a/nb-adapters/adapter-neo4j/src/main/java/io/nosqlbench/adapter/neo4j/ops/Neo4JSyncReadTxnOp.java b/nb-adapters/adapter-neo4j/src/main/java/io/nosqlbench/adapter/neo4j/ops/Neo4JSyncReadTxnOp.java
index 7b0abf7c6..aa7dab910 100644
--- a/nb-adapters/adapter-neo4j/src/main/java/io/nosqlbench/adapter/neo4j/ops/Neo4JSyncReadTxnOp.java
+++ b/nb-adapters/adapter-neo4j/src/main/java/io/nosqlbench/adapter/neo4j/ops/Neo4JSyncReadTxnOp.java
@@ -18,6 +18,7 @@ package io.nosqlbench.adapter.neo4j.ops;
import org.neo4j.driver.Query;
import org.neo4j.driver.Record;
+import org.neo4j.driver.Result;
import org.neo4j.driver.Session;
import java.util.List;
@@ -35,7 +36,7 @@ public class Neo4JSyncReadTxnOp extends Neo4JBaseOp{
public final Record[] apply(long value) {
List recordList = session.executeRead(
txn -> {
- var result = txn.run(query);
+ Result result = txn.run(query);
return result.list();
}
);
diff --git a/nb-adapters/adapter-neo4j/src/main/java/io/nosqlbench/adapter/neo4j/ops/Neo4JSyncWriteTxnOp.java b/nb-adapters/adapter-neo4j/src/main/java/io/nosqlbench/adapter/neo4j/ops/Neo4JSyncWriteTxnOp.java
index 93653b088..eb4353891 100644
--- a/nb-adapters/adapter-neo4j/src/main/java/io/nosqlbench/adapter/neo4j/ops/Neo4JSyncWriteTxnOp.java
+++ b/nb-adapters/adapter-neo4j/src/main/java/io/nosqlbench/adapter/neo4j/ops/Neo4JSyncWriteTxnOp.java
@@ -18,6 +18,7 @@ package io.nosqlbench.adapter.neo4j.ops;
import org.neo4j.driver.Query;
import org.neo4j.driver.Record;
+import org.neo4j.driver.Result;
import org.neo4j.driver.Session;
import java.util.List;
@@ -35,7 +36,7 @@ public class Neo4JSyncWriteTxnOp extends Neo4JBaseOp{
public final Record[] apply(long value) {
List recordList = session.executeWrite(
txn -> {
- var result = txn.run(query);
+ Result result = txn.run(query);
return result.list();
}
);
diff --git a/nb-adapters/adapter-pulsar/src/main/java/io/nosqlbench/adapter/pulsar/PulsarOpMapper.java b/nb-adapters/adapter-pulsar/src/main/java/io/nosqlbench/adapter/pulsar/PulsarOpMapper.java
index 20df9f8b7..87a69e64f 100644
--- a/nb-adapters/adapter-pulsar/src/main/java/io/nosqlbench/adapter/pulsar/PulsarOpMapper.java
+++ b/nb-adapters/adapter-pulsar/src/main/java/io/nosqlbench/adapter/pulsar/PulsarOpMapper.java
@@ -42,7 +42,7 @@ public class PulsarOpMapper implements OpMapper {
}
@Override
- public OpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceInitF) {
+ public OpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceF) {
int spaceName = op.getStaticConfigOr("space", 0);
// PulsarSpace pulsarSpace = spaceCache.get(spaceName);
PulsarSpace pulsarSpace = adapter.getSpaceFunc(op).apply(spaceName);
diff --git a/nb-adapters/adapter-qdrant/src/main/java/io/nosqlbench/adapter/qdrant/QdrantOpMapper.java b/nb-adapters/adapter-qdrant/src/main/java/io/nosqlbench/adapter/qdrant/QdrantOpMapper.java
index 53fd517a0..a0aa93fcf 100644
--- a/nb-adapters/adapter-qdrant/src/main/java/io/nosqlbench/adapter/qdrant/QdrantOpMapper.java
+++ b/nb-adapters/adapter-qdrant/src/main/java/io/nosqlbench/adapter/qdrant/QdrantOpMapper.java
@@ -48,11 +48,11 @@ public class QdrantOpMapper implements OpMapper,QdrantSpace> {
* @param adapterC
* @param op
* The {@link ParsedOp} to be evaluated
- * @param spaceInitF
+ * @param spaceF
* @return The correct {@link QdrantBaseOpDispenser} subclass based on the op type
*/
@Override
- public OpDispenser> apply(NBComponent adapterC, ParsedOp op, LongFunction spaceInitF) {
+ public OpDispenser> apply(NBComponent adapterC, ParsedOp op, LongFunction spaceF) {
TypeAndTarget typeAndTarget = op.getTypeAndTarget(
QdrantOpType.class,
String.class,
diff --git a/nb-adapters/adapter-s4j/src/main/java/io/nosqlbench/adapter/s4j/S4JOpMapper.java b/nb-adapters/adapter-s4j/src/main/java/io/nosqlbench/adapter/s4j/S4JOpMapper.java
index 5a0d583a9..d12b9cfd5 100644
--- a/nb-adapters/adapter-s4j/src/main/java/io/nosqlbench/adapter/s4j/S4JOpMapper.java
+++ b/nb-adapters/adapter-s4j/src/main/java/io/nosqlbench/adapter/s4j/S4JOpMapper.java
@@ -40,7 +40,7 @@ public class S4JOpMapper implements OpMapper {
}
@Override
- public OpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceInitF) {
+ public OpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceF) {
/*
* If the user provides a body element, then they want to provide the JSON or
diff --git a/nb-adapters/adapter-stdout/src/main/java/io/nosqlbench/adapter/stdout/StdoutDriverAdapter.java b/nb-adapters/adapter-stdout/src/main/java/io/nosqlbench/adapter/stdout/StdoutDriverAdapter.java
index e8bf38624..cf67b8eba 100644
--- a/nb-adapters/adapter-stdout/src/main/java/io/nosqlbench/adapter/stdout/StdoutDriverAdapter.java
+++ b/nb-adapters/adapter-stdout/src/main/java/io/nosqlbench/adapter/stdout/StdoutDriverAdapter.java
@@ -95,7 +95,7 @@ public class StdoutDriverAdapter extends BaseDriverAdapter {
}
@Override
- public OpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceInitF) {
+ public OpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceF) {
return new StdoutOpDispenser(adapter,op,adapter.getSpaceFunc(op));
}
diff --git a/nb-adapters/adapter-tcp/src/main/java/io/nosqlbench/adapter/tcpclient/TcpClientOpMapper.java b/nb-adapters/adapter-tcp/src/main/java/io/nosqlbench/adapter/tcpclient/TcpClientOpMapper.java
index 403a3a61f..19a825d28 100644
--- a/nb-adapters/adapter-tcp/src/main/java/io/nosqlbench/adapter/tcpclient/TcpClientOpMapper.java
+++ b/nb-adapters/adapter-tcp/src/main/java/io/nosqlbench/adapter/tcpclient/TcpClientOpMapper.java
@@ -33,7 +33,7 @@ public class TcpClientOpMapper implements OpMapper apply(NBComponent adapterC, ParsedOp op, LongFunction spaceInitF) {
+ public OpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceF) {
LongFunction spacefunc = op.getAsFunctionOr("space", "default");
LongFunction ctxfunc = adapter.getSpaceFunc(op);
return new TcpClientOpDispenser(adapter,op,ctxfunc);
diff --git a/nb-adapters/adapter-tcp/src/main/java/io/nosqlbench/adapter/tcpserver/TcpServerOpMapper.java b/nb-adapters/adapter-tcp/src/main/java/io/nosqlbench/adapter/tcpserver/TcpServerOpMapper.java
index 843623cf5..b65d26453 100644
--- a/nb-adapters/adapter-tcp/src/main/java/io/nosqlbench/adapter/tcpserver/TcpServerOpMapper.java
+++ b/nb-adapters/adapter-tcp/src/main/java/io/nosqlbench/adapter/tcpserver/TcpServerOpMapper.java
@@ -33,7 +33,7 @@ public class TcpServerOpMapper implements OpMapper apply(NBComponent adapterC, ParsedOp op, LongFunction spaceInitF) {
+ public OpDispenser apply(NBComponent adapterC, ParsedOp op, LongFunction spaceF) {
LongFunction spacefunc = op.getAsFunctionOr("space", "default");
LongFunction ctxfunc = adapter.getSpaceFunc(op);
return new TcpServerOpDispenser(adapter,op,ctxfunc);
diff --git a/nb-adapters/adapter-weaviate/pom.xml b/nb-adapters/adapter-weaviate/pom.xml
index 13c99ddb5..d00104dcd 100644
--- a/nb-adapters/adapter-weaviate/pom.xml
+++ b/nb-adapters/adapter-weaviate/pom.xml
@@ -36,7 +36,7 @@
io.weaviate
client
- 4.8.2
+ 4.9.0
diff --git a/nb-adapters/adapter-weaviate/src/main/java/io/nosqlbench/adapter/weaviate/WeaviateDriverAdapter.java b/nb-adapters/adapter-weaviate/src/main/java/io/nosqlbench/adapter/weaviate/WeaviateDriverAdapter.java
index 1c8b25e5a..61defb3dc 100644
--- a/nb-adapters/adapter-weaviate/src/main/java/io/nosqlbench/adapter/weaviate/WeaviateDriverAdapter.java
+++ b/nb-adapters/adapter-weaviate/src/main/java/io/nosqlbench/adapter/weaviate/WeaviateDriverAdapter.java
@@ -21,6 +21,7 @@ import static io.nosqlbench.adapter.weaviate.WeaviateAdapterUtils.WEAVIATE;
import java.util.function.Function;
import java.util.function.IntFunction;
+import java.util.function.LongFunction;
import io.nosqlbench.adapter.weaviate.ops.WeaviateBaseOp;
import io.nosqlbench.adapters.api.activityimpl.OpMapper;
@@ -33,26 +34,25 @@ import io.nosqlbench.nb.api.config.standard.NBConfiguration;
import io.nosqlbench.nb.api.labels.NBLabels;
@Service(value = DriverAdapter.class, selector = WEAVIATE)
-public class WeaviateDriverAdapter extends BaseDriverAdapter, WeaviateSpace> {
+public class WeaviateDriverAdapter extends BaseDriverAdapter, WeaviateSpace> {
- public WeaviateDriverAdapter(NBComponent parentComponent, NBLabels labels) {
- super(parentComponent, labels);
- }
+ public WeaviateDriverAdapter(NBComponent parentComponent, NBLabels labels) {
+ super(parentComponent, labels);
+ }
- @Override
- public OpMapper> getOpMapper() {
- return new WeaviateOpMapper(this);
- }
+ @Override
+ public NBConfigModel getConfigModel() {
+ return super.getConfigModel().add(WeaviateSpace.getConfigModel());
+ }
- @Override
- public IntFunction getSpaceInitializer(NBConfiguration cfg) {
- return (int s) -> new WeaviateSpace(s, cfg);
- }
-
- @Override
- public NBConfigModel getConfigModel() {
- return super.getConfigModel().add(WeaviateSpace.getConfigModel());
- }
+ @Override
+ public OpMapper, WeaviateSpace> getOpMapper() {
+ return new WeaviateOpMapper(this);
+ }
+ @Override
+ public LongFunction getSpaceInitializer(NBConfiguration cfg) {
+ return l -> new WeaviateSpace(this, l, cfg);
+ }
}
diff --git a/nb-adapters/adapter-weaviate/src/main/java/io/nosqlbench/adapter/weaviate/WeaviateOpMapper.java b/nb-adapters/adapter-weaviate/src/main/java/io/nosqlbench/adapter/weaviate/WeaviateOpMapper.java
index 853df78c3..711eabda5 100644
--- a/nb-adapters/adapter-weaviate/src/main/java/io/nosqlbench/adapter/weaviate/WeaviateOpMapper.java
+++ b/nb-adapters/adapter-weaviate/src/main/java/io/nosqlbench/adapter/weaviate/WeaviateOpMapper.java
@@ -17,6 +17,7 @@
package io.nosqlbench.adapter.weaviate;
import io.nosqlbench.adapters.api.activityimpl.uniform.Space;
+import io.nosqlbench.nb.api.components.core.NBComponent;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -35,7 +36,7 @@ import io.nosqlbench.engine.api.templating.TypeAndTarget;
import java.util.function.IntFunction;
import java.util.function.LongFunction;
-public class WeaviateOpMapper implements OpMapper> {
+public class WeaviateOpMapper implements OpMapper,WeaviateSpace> {
private static final Logger logger = LogManager.getLogger(WeaviateOpMapper.class);
private final WeaviateDriverAdapter adapter;
@@ -48,31 +49,30 @@ public class WeaviateOpMapper implements OpMapper> {
this.adapter = adapter;
}
- /**
- * Given an instance of a {@link ParsedOp} returns the appropriate
- * {@link WeaviateBaseOpDispenser} subclass
- *
- * @param op
- * The {@link ParsedOp} to be evaluated
- * @param spaceInitF
- * @return The correct {@link WeaviateBaseOpDispenser} subclass based on the op
- * type
- */
- @Override
- public OpDispenser> apply(ParsedOp op, LongFunction extends Space> spaceInitF) {
- TypeAndTarget typeAndTarget = op.getTypeAndTarget(WeaviateOpType.class, String.class,
- "type", "target");
- logger.info(() -> "Using '" + typeAndTarget.enumId + "' op type for op template '" + op.getName() + "'");
+ @Override
+ public OpDispenser extends WeaviateBaseOp,?>> apply(
+ NBComponent adapterC,
+ ParsedOp pop,
+ LongFunction spaceF
+ ) {
+ TypeAndTarget typeAndTarget = pop.getTypeAndTarget(
+ WeaviateOpType.class,
+ String.class,
+ "type", "target"
+ );
+ LongFunction targetF = typeAndTarget.targetFunction;
- return switch (typeAndTarget.enumId) {
- case delete_collection -> new WeaviateDeleteCollectionOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case create_collection -> new WeaviateCreateCollectionOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case get_collection_schema ->
- new WeaviateGetCollectionSchemaOpDispenser(adapter, op, typeAndTarget.targetFunction);
- case create_objects -> new WeaviateCreateObjectsOpDispenser(adapter, op, typeAndTarget.targetFunction);
+ logger.info(() -> "Using '" + typeAndTarget.enumId + "' op type for op template '" + pop.getName() + "'");
+
+ return switch (typeAndTarget.enumId) {
+ case delete_collection -> new WeaviateDeleteCollectionOpDispenser(adapter, pop, spaceF, targetF);
+ case create_collection -> new WeaviateCreateCollectionOpDispenser(adapter, pop, spaceF, targetF);
+ case get_collection_schema ->
+ new WeaviateGetCollectionSchemaOpDispenser(adapter, pop, spaceF, targetF);
+ case create_objects -> new WeaviateCreateObjectsOpDispenser(adapter, pop, spaceF, targetF);
// default -> throw new RuntimeException("Unrecognized op type '" + typeAndTarget.enumId.name() + "' while " +
// "mapping parsed op " + op);
- };
- }
+ };
+ }
}
diff --git a/nb-adapters/adapter-weaviate/src/main/java/io/nosqlbench/adapter/weaviate/WeaviateSpace.java b/nb-adapters/adapter-weaviate/src/main/java/io/nosqlbench/adapter/weaviate/WeaviateSpace.java
index 22f5aad64..24aeb7728 100644
--- a/nb-adapters/adapter-weaviate/src/main/java/io/nosqlbench/adapter/weaviate/WeaviateSpace.java
+++ b/nb-adapters/adapter-weaviate/src/main/java/io/nosqlbench/adapter/weaviate/WeaviateSpace.java
@@ -46,96 +46,76 @@ import io.weaviate.client.v1.auth.exception.AuthException;
* @see Weaviate Java
* client
*/
-public class WeaviateSpace extends BaseSpace {
+public class WeaviateSpace extends BaseSpace {
private final static Logger logger = LogManager.getLogger(WeaviateSpace.class);
private final NBConfiguration cfg;
protected WeaviateClient client;
/**
- * Create a new WeaviateSpace Object which stores all stateful contextual
- * information needed to interact with the Weaviate database instance.
- *
- * @param cfg The configuration ({@link NBConfiguration}) for this nb run
- */
- public WeaviateSpace(int idx, NBConfiguration cfg) {
- super(idx);
+ * Create a new WeaviateSpace Object which stores all stateful contextual
+ * information needed to interact with the Weaviate database instance.
+ *
+ * @param cfg The configuration ({@link NBConfiguration}) for this nb run
+ */
+ public WeaviateSpace(WeaviateDriverAdapter adapter, long idx, NBConfiguration cfg) {
+ super(adapter, idx);
this.cfg = cfg;
}
- public synchronized WeaviateClient getClient() throws AuthException {
+ public synchronized WeaviateClient getClient() {
if (client == null) {
- client = createClient();
+ try {
+ client = createClient();
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
}
return client;
}
- private WeaviateClient createClient() throws AuthException {
+ private WeaviateClient createClient() throws AuthException {
String uri = cfg.get("uri");
- String scheme = cfg.getOptional("scheme").orElse("https");
+ String scheme = cfg.getOptional("scheme").orElse("https");
- var requiredToken = cfg.getOptional("token_file")
- .map(Paths::get)
- .map(
- tokenFilePath -> {
- try {
- return Files.readAllLines(tokenFilePath).getFirst();
- } catch (IOException e) {
- String error = "Error while reading token from file:" + tokenFilePath;
- logger.error(error, e);
- throw new RuntimeException(e);
- }
- }
- ).orElseGet(
- () -> cfg.getOptional("token")
- .orElseThrow(() -> new RuntimeException("You must provide either a token_file or a token to " +
- "configure a Weaviate client"))
- );
- if (requiredToken != null
- && (cfg.getOptional("username").isPresent() || cfg.getOptional("password").isPresent())) {
- throw new OpConfigError("Username/Password combo cannot be used together with token/tokenFile");
- }
+ var requiredToken = cfg.getOptional("token_file").map(Paths::get).map(tokenFilePath -> {
+ try {
+ return Files.readAllLines(tokenFilePath).getFirst();
+ } catch (IOException e) {
+ String error = "Error while reading token from file:" + tokenFilePath;
+ logger.error(error, e);
+ throw new RuntimeException(e);
+ }
+ }).orElseGet(() -> cfg.getOptional("token").orElse(null)
+// orElseThrow(() -> new RuntimeException("You must provide either a token_file or a token to " + "configure a Weaviate client"))
+ );
+ if (requiredToken != null && (cfg.getOptional("username").isPresent() || cfg.getOptional("password").isPresent())) {
+ throw new OpConfigError("Username/Password combo cannot be used together with token/tokenFile");
+ }
- logger.info("{}: Creating new Weaviate Client with (masked) token [{}], uri/endpoint [{}]",
- this.getName(), WeaviateAdapterUtils.maskDigits(requiredToken), uri);
- Config config = new Config(scheme, uri);
+ Config config = new Config(scheme, uri);
- if (cfg.getOptional("username").isPresent() && cfg.getOptional("password").isPresent()) {
- return WeaviateAuthClient.clientPassword(config, cfg.getOptional("username").get(),
- cfg.getOptional("password").get(), null);
- } else {
- return WeaviateAuthClient.apiKey(config, requiredToken);
- }
+ String username = cfg.getOptional("username").orElse(null);
+ String password = cfg.getOptional("password").orElse(null);
+
+ if (username != null & password != null) {
+ logger.info("{}: Creating new Weaviate Client with username [{}], and (masked) password [{}]", this.getName(), username, WeaviateAdapterUtils.maskDigits(password));
+ return WeaviateAuthClient.clientPassword(config, username, password, null);
+ } else if (cfg.getOptional("token").isPresent()) {
+ logger.info("{}: Creating new Weaviate Client with (masked) token [{}], uri/endpoint [{}]", this.getName(), WeaviateAdapterUtils.maskDigits(requiredToken), uri);
+ return WeaviateAuthClient.apiKey(config, requiredToken);
+ } else {
+ logger.info("{}: Creating new Weaviate Client without credentials.", this.getName());
+ return new WeaviateClient(config);
+ }
}
public static NBConfigModel getConfigModel() {
- return ConfigModel.of(WeaviateSpace.class)
- .add(
- Param.optional("token_file", String.class, "the file to load the api token from")
- )
- .add(
- Param.defaultTo("token", "weaviate")
- .setDescription("the Weaviate api token to use to connect to the database")
- )
- .add(
- Param.defaultTo("scheme", "http")
- .setDescription("the scheme of the database. Defaults to http."))
- .add(Param.defaultTo("uri", "localhost:8080").setDescription(
- "the URI endpoint in which the database is running. Do not provide any suffix like https:// here.")
- )
- .add(Param.optional("username")
- .setDescription("Username to be used for non-WCD clusters. Need Password config too."))
- .add(Param.optional("password")
- .setDescription("Password to be used for non-WCD clusters. Need Username config too."))
- .add(
- Param.defaultTo("timeout_ms", 3000)
- .setDescription("sets the timeout in milliseconds for all requests. Defaults to 3000ms.")
- )
- .asReadOnly();
+ return ConfigModel.of(WeaviateSpace.class).add(Param.optional("token_file", String.class, "the file to load the api token from")).add(Param.optional("token", String.class).setDescription("the Weaviate api token to use to connect to " + "the " + "database")).add(Param.defaultTo("scheme", "http").setDescription("the scheme of the database. Defaults to http.")).add(Param.defaultTo("uri", "localhost:8080").setDescription("the URI endpoint in which the database is running. Do not provide any suffix like https:// here.")).add(Param.optional("username").setDescription("Username to be used for non-WCD clusters. Need Password config too.")).add(Param.optional("password").setDescription("Password to be used for non-WCD clusters. Need Username config too.")).add(Param.defaultTo("timeout_ms", 3000).setDescription("sets the timeout in milliseconds for all requests. Defaults to 3000ms.")).asReadOnly();
}
@Override
public void close() throws Exception {
- client = null;
+ client = null;
}
}
diff --git a/nb-adapters/adapter-weaviate/src/main/java/io/nosqlbench/adapter/weaviate/ops/WeaviateBaseOp.java b/nb-adapters/adapter-weaviate/src/main/java/io/nosqlbench/adapter/weaviate/ops/WeaviateBaseOp.java
index 44b4e1c42..115aa0c4c 100644
--- a/nb-adapters/adapter-weaviate/src/main/java/io/nosqlbench/adapter/weaviate/ops/WeaviateBaseOp.java
+++ b/nb-adapters/adapter-weaviate/src/main/java/io/nosqlbench/adapter/weaviate/ops/WeaviateBaseOp.java
@@ -26,21 +26,21 @@ import io.nosqlbench.adapters.api.activityimpl.uniform.flowtypes.CycleOp;
import io.weaviate.client.WeaviateClient;
import io.weaviate.client.base.Result;
-public abstract class WeaviateBaseOp implements CycleOp {
+public abstract class WeaviateBaseOp implements CycleOp