From 0f0784b9a75eb15c4248393aa6e15b493c5cea71 Mon Sep 17 00:00:00 2001 From: Mark Wolters Date: Thu, 1 Jun 2023 17:42:08 +0000 Subject: [PATCH] code cleanup --- .../adapter/pinecone/PineconeOpMapper.java | 2 +- .../PineconeDeleteOpDispenser.java | 2 -- ...PineconeDescribeIndexStatsOpDispenser.java | 3 +-- .../PineconeFetchOpDispenser.java | 2 +- .../opdispensers/PineconeOpDispenser.java | 11 ++++++++++ .../PineconeQueryOpDispenser.java | 17 +++++---------- .../PineconeUpdateOpDispenser.java | 21 +++++++------------ .../PineconeUpsertOpDispenser.java | 12 +++++------ .../pinecone/ops/PineconeDeleteOp.java | 5 ++--- .../pinecone/ops/PineconeUpdateOp.java | 2 +- 10 files changed, 35 insertions(+), 42 deletions(-) diff --git a/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/PineconeOpMapper.java b/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/PineconeOpMapper.java index 75fc806d6..cb3b5e91c 100644 --- a/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/PineconeOpMapper.java +++ b/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/PineconeOpMapper.java @@ -40,7 +40,7 @@ public class PineconeOpMapper implements OpMapper { * Create a new PineconeOpMapper implementing the {@link OpMapper} interface. * * @param adapter The associated {@link PineconeDriverAdapter} - * @param spaceCache A cached context Object of thpe {@link PineconeSpace}) + * @param spaceCache A cached context Object of the {@link PineconeSpace}) * @param cfg The configuration ({@link NBConfiguration}) for this nb run */ public PineconeOpMapper(PineconeDriverAdapter adapter, diff --git a/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/opdispensers/PineconeDeleteOpDispenser.java b/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/opdispensers/PineconeDeleteOpDispenser.java index 0eb6d157e..47fdf0eeb 100644 --- a/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/opdispensers/PineconeDeleteOpDispenser.java +++ b/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/opdispensers/PineconeDeleteOpDispenser.java @@ -16,9 +16,7 @@ package io.nosqlbench.adapter.pinecone.opdispensers; -import com.google.protobuf.ListValue; import com.google.protobuf.Struct; -import com.google.protobuf.Value; import io.nosqlbench.adapter.pinecone.PineconeDriverAdapter; import io.nosqlbench.adapter.pinecone.PineconeSpace; import io.nosqlbench.adapter.pinecone.ops.PineconeDeleteOp; diff --git a/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/opdispensers/PineconeDescribeIndexStatsOpDispenser.java b/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/opdispensers/PineconeDescribeIndexStatsOpDispenser.java index 091108b93..012f4a3dc 100644 --- a/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/opdispensers/PineconeDescribeIndexStatsOpDispenser.java +++ b/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/opdispensers/PineconeDescribeIndexStatsOpDispenser.java @@ -17,7 +17,6 @@ package io.nosqlbench.adapter.pinecone.opdispensers; import com.google.protobuf.Struct; -import com.google.protobuf.Value; import io.nosqlbench.adapter.pinecone.PineconeDriverAdapter; import io.nosqlbench.adapter.pinecone.PineconeSpace; import io.nosqlbench.adapter.pinecone.ops.PineconeDescribeIndexStatsOp; @@ -54,7 +53,7 @@ public class PineconeDescribeIndexStatsOpDispenser extends PineconeOpDispenser { /** * @param op The ParsedOp used to build the Request * @return A function that will take a long (the current cycle) and return a Pinecone DescribeIndexStatsRequest - * + *

* The pattern used here is to accommodate the way Request types are constructed for Pinecone. * Requests use a Builder pattern, so at time of instantiation the methods should be chained together. * For each method in the chain a function is created here and added to the chain of functions diff --git a/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/opdispensers/PineconeFetchOpDispenser.java b/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/opdispensers/PineconeFetchOpDispenser.java index 14e4fd057..2bcbfaa41 100644 --- a/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/opdispensers/PineconeFetchOpDispenser.java +++ b/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/opdispensers/PineconeFetchOpDispenser.java @@ -53,7 +53,7 @@ public class PineconeFetchOpDispenser extends PineconeOpDispenser { /** * @param op The ParsedOp used to build the Request * @return A function that will take a long (the current cycle) and return a Pinecone FetchRequest - * + *

* The pattern used here is to accommodate the way Request types are constructed for Pinecone. * Requests use a Builder pattern, so at time of instantiation the methods should be chained together. * For each method in the chain a function is created here and added to the chain of functions diff --git a/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/opdispensers/PineconeOpDispenser.java b/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/opdispensers/PineconeOpDispenser.java index aead8f195..947a460b6 100644 --- a/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/opdispensers/PineconeOpDispenser.java +++ b/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/opdispensers/PineconeOpDispenser.java @@ -25,6 +25,7 @@ import io.nosqlbench.adapter.pinecone.ops.PineconeOp; import io.nosqlbench.engine.api.activityimpl.BaseOpDispenser; import io.nosqlbench.engine.api.templating.ParsedOp; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.function.LongFunction; @@ -73,6 +74,16 @@ public abstract class PineconeOpDispenser extends BaseOpDispenser> extractFloatVals(LongFunction af) { + return l -> { + String[] vals = af.apply(l).split(","); + ArrayList fVals = new ArrayList<>(); + for (String val : vals) { + fVals.add(Float.valueOf(val)); + } + return fVals; + }; + } } diff --git a/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/opdispensers/PineconeQueryOpDispenser.java b/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/opdispensers/PineconeQueryOpDispenser.java index 3c7412c1d..6259fdf3c 100644 --- a/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/opdispensers/PineconeQueryOpDispenser.java +++ b/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/opdispensers/PineconeQueryOpDispenser.java @@ -102,14 +102,8 @@ public class PineconeQueryOpDispenser extends PineconeOpDispenser { if (vFunc.isPresent()) { LongFunction finalFunc = rFunc; LongFunction af = vFunc.get(); - LongFunction> alf = l -> { - String[] vals = af.apply(l).split(","); - ArrayList fVals = new ArrayList<>(); - for (String val : vals) { - fVals.add(Float.valueOf(val)); - } - return fVals; - }; + + LongFunction> alf = extractFloatVals(af); rFunc = l -> finalFunc.apply(l).addAllVector(alf.apply(l)); } @@ -123,6 +117,7 @@ public class PineconeQueryOpDispenser extends PineconeOpDispenser { return rFunc; } + /** * @param op the ParsedOp from which the Query Vector objects will be built * @return an Iterable Collection of QueryVector objects to be added to a Pinecone QueryRequest @@ -151,14 +146,12 @@ public class PineconeQueryOpDispenser extends PineconeOpDispenser { qvb.setTopK((Integer) vector.get("top_k")); } if (vector.containsKey("filter")) { - LongFunction builtFilter = buildFilterStruct(l2 -> { - return (Map) vector.get("filter"); - }); + LongFunction builtFilter = buildFilterStruct(l2 -> (Map) vector.get("filter")); qvb.setFilter(builtFilter.apply(l)); } if (vector.containsKey("sparse_values")) { Map sparse_values = (Map) vector.get("sparse_values"); - rawValues = ((String) sparse_values.get("values")).split(","); + rawValues = sparse_values.get("values").split(","); floatValues = new ArrayList<>(); for (String val : rawValues) { floatValues.add(Float.valueOf(val)); diff --git a/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/opdispensers/PineconeUpdateOpDispenser.java b/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/opdispensers/PineconeUpdateOpDispenser.java index 496b93c8d..b04ce64db 100644 --- a/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/opdispensers/PineconeUpdateOpDispenser.java +++ b/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/opdispensers/PineconeUpdateOpDispenser.java @@ -59,7 +59,7 @@ public class PineconeUpdateOpDispenser extends PineconeOpDispenser { /** * @param op the ParsedOp from which the SparseValues object will be built * @return a SparseValues Object to be added to a Pinecone UpdateRequest - * + *

* This method interrogates the subsection of the ParsedOp defined for SparseValues parameters and constructs * a SparseValues Object based on the included values, or returns null if this section is not populated. The * base function returns either the SparseValues Object or null, while the interior function builds the SparseValues @@ -88,8 +88,8 @@ public class PineconeUpdateOpDispenser extends PineconeOpDispenser { /** * @param op the ParsedOp from which the Metadata objects will be built - * @return an Metadata Struct to be added to a Pinecone UpdateRequest - * + * @return a Metadata Struct to be added to a Pinecone UpdateRequest + *

* This method interrogates the subsection of the ParsedOp defined for metadata parameters and constructs * a Metadata Struct based on the included values, or returns null if this section is not populated. The * base function returns either the Metadata Struct or null, while the interior function builds the Metadata @@ -114,14 +114,14 @@ public class PineconeUpdateOpDispenser extends PineconeOpDispenser { /** * @param op The ParsedOp used to build the Request * @return A function that will take a long (the current cycle) and return a Pinecone UpdateRequest Builder - * + *

* The pattern used here is to accommodate the way Request types are constructed for Pinecone. * Requests use a Builder pattern, so at time of instantiation the methods should be chained together. * For each method in the chain a function is created here and added to the chain of functions * called at time of instantiation. - * + *

* The Metadata and SparseValues objects used by the UpdateRequest are sufficiently sophisticated in their own - * building process that they have been broken out into separate methods. At runtime they are built separately + * building process that they have been broken out into separate methods. At runtime, they are built separately * and then added to the build chain by the builder returned by this method. */ private LongFunction createUpdateRequestFunction(ParsedOp op) { @@ -145,14 +145,7 @@ public class PineconeUpdateOpDispenser extends PineconeOpDispenser { if (vFunc.isPresent()) { LongFunction finalFunc = rFunc; LongFunction af = vFunc.get(); - LongFunction> alf = l -> { - String[] vals = af.apply(l).split(","); - ArrayList fVals = new ArrayList<>(); - for (String val : vals) { - fVals.add(Float.valueOf(val)); - } - return fVals; - }; + LongFunction> alf = extractFloatVals(af); rFunc = l -> finalFunc.apply(l).addAllValues(alf.apply(l)); } diff --git a/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/opdispensers/PineconeUpsertOpDispenser.java b/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/opdispensers/PineconeUpsertOpDispenser.java index 9c6a6e72c..ac59039fa 100644 --- a/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/opdispensers/PineconeUpsertOpDispenser.java +++ b/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/opdispensers/PineconeUpsertOpDispenser.java @@ -58,7 +58,7 @@ public class PineconeUpsertOpDispenser extends PineconeOpDispenser { /** * @param op the ParsedOp from which the Vector objects will be built * @return an Iterable Collection of Vector objects to be added to a Pinecone UpsertRequest - * + *

* This method interrogates the subsection of the ParsedOp defined for Vector parameters and constructs * a list of Vectors based on the included values, or returns null if this section is not populated. The * base function returns either the List of vectors or null, while the interior function builds the vectors @@ -82,7 +82,7 @@ public class PineconeUpsertOpDispenser extends PineconeOpDispenser { vb.addAllValues(floatValues); if (vector.containsKey("sparse_values")) { Map sparse_values = (Map) vector.get("sparse_values"); - rawValues = ((String) sparse_values.get("values")).split(","); + rawValues = sparse_values.get("values").split(","); floatValues = new ArrayList<>(); for (String val : rawValues) { floatValues.add(Float.valueOf(val)); @@ -98,7 +98,7 @@ public class PineconeUpsertOpDispenser extends PineconeOpDispenser { .build()); } if (vector.containsKey("metadata")) { - Map metadata_map = new HashMap(); + Map metadata_map = new HashMap<>(); BiConsumer stringToValue = (key, val) -> { Value targetval = null; if (val instanceof String) targetval = Value.newBuilder().setStringValue((String)val).build(); @@ -118,14 +118,14 @@ public class PineconeUpsertOpDispenser extends PineconeOpDispenser { /** * @param op The ParsedOp used to build the Request * @return A function that will take a long (the current cycle) and return a Pinecone UpsertRequest Builder - * + *

* The pattern used here is to accommodate the way Request types are constructed for Pinecone. * Requests use a Builder pattern, so at time of instantiation the methods should be chained together. * For each method in the chain a function is created here and added to the chain of functions * called at time of instantiation. - * + *

* The Vector objects used by the UpsertRequest are sufficiently sophisticated in their own - * building process that they have been broken out into a separate method. At runtime they are built separately + * building process that they have been broken out into a separate method. At runtime, they are built separately * and then added to the build chain by the builder returned by this method. */ private LongFunction createUpsertRequestFunc(ParsedOp op) { diff --git a/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/ops/PineconeDeleteOp.java b/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/ops/PineconeDeleteOp.java index 7291f09ef..c7ccde330 100644 --- a/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/ops/PineconeDeleteOp.java +++ b/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/ops/PineconeDeleteOp.java @@ -17,10 +17,9 @@ package io.nosqlbench.adapter.pinecone.ops; import io.nosqlbench.engine.api.templating.ParsedOp; -import io.pinecone.PineconeException; +import io.pinecone.PineconeConnection; import io.pinecone.proto.DeleteRequest; import io.pinecone.proto.DeleteResponse; -import io.pinecone.PineconeConnection; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -44,6 +43,6 @@ public class PineconeDeleteOp extends PineconeOp { @Override public void run() { DeleteResponse response = connection.getBlockingStub().delete(request); - logger.debug("Pincecone delete request successful: " + response.toString()); + logger.debug("Pinecone delete request successful: " + response.toString()); } } diff --git a/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/ops/PineconeUpdateOp.java b/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/ops/PineconeUpdateOp.java index c08ebbea3..d1ead4efd 100644 --- a/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/ops/PineconeUpdateOp.java +++ b/adapter-pinecone/src/main/java/io/nosqlbench/adapter/pinecone/ops/PineconeUpdateOp.java @@ -43,6 +43,6 @@ public class PineconeUpdateOp extends PineconeOp { @Override public void run() { UpdateResponse response = connection.getBlockingStub().update(request); - logger.debug("UpdateResponse succesful: " + response.toString()); + logger.debug("UpdateResponse successful: " + response.toString()); } }