Skip to content

Commit a9f0e60

Browse files
committed
Java FIT performer: fix mutateIn results processing
Change-Id: I8c0adbf76e1c44b5d9ddf7ec8c360c0f6b99cb57 Reviewed-on: https://review.couchbase.org/c/couchbase-jvm-clients/+/229348 Reviewed-by: Graham Pople <[email protected]> Tested-by: Build Bot <[email protected]>
1 parent 0c88fb9 commit a9f0e60

File tree

1 file changed

+18
-11
lines changed

1 file changed

+18
-11
lines changed

java-fit-performer/src/main/java/com/couchbase/JavaSdkCommandExecutor.java

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -863,25 +863,32 @@ public static void populateResult(com.couchbase.client.protocol.run.Result.Build
863863
.setSequenceNumber(mt.sequenceNumber())
864864
.setBucketName(mt.bucketName())));
865865

866-
AtomicInteger index = new AtomicInteger();
867-
request.getSpecList().forEach(spec -> {
866+
for (int i = 0; i < request.getSpecCount(); i ++) {
867+
var spec = request.getSpec(i);
868+
final int x = i;
868869
if (spec.hasContentAs()) {
869870
var content = ContentAsUtil.contentType(spec.getContentAs(),
870-
() -> value.contentAs(index.get(), byte[].class),
871-
() -> value.contentAs(index.get(), String.class),
872-
() -> value.contentAs(index.get(), JsonObject.class),
873-
() -> value.contentAs(index.get(), JsonArray.class),
874-
() -> value.contentAs(index.get(), Boolean.class),
875-
() -> value.contentAs(index.get(), Integer.class),
876-
() -> value.contentAs(index.getAndIncrement(), Double.class));
871+
() -> value.contentAs(x, byte[].class),
872+
() -> value.contentAs(x, String.class),
873+
() -> value.contentAs(x, JsonObject.class),
874+
() -> value.contentAs(x, JsonArray.class),
875+
() -> value.contentAs(x, Boolean.class),
876+
() -> value.contentAs(x, Integer.class),
877+
() -> value.contentAs(x, Double.class));
878+
var contentOut = ContentOrError.newBuilder();
879+
if (content.isSuccess()) {
880+
contentOut.setContent(content.value());
881+
} else {
882+
contentOut.setException(convertExceptionShared(content.exception()));
883+
}
877884
builder.addResults(
878885
MutateInSpecResult.newBuilder()
879-
.setContentAsResult(ContentOrError.newBuilder().setContent(content.value()).build())
886+
.setContentAsResult(contentOut)
880887
.build()
881888
);
882889
}
883890
else builder.addResults(MutateInSpecResult.newBuilder().build());
884-
});
891+
}
885892

886893
result.setSdk(com.couchbase.client.protocol.sdk.Result.newBuilder()
887894
.setMutateInResult(builder));

0 commit comments

Comments
 (0)