Skip to content

Commit 895d3f0

Browse files
committed
fix: align error parsing
1 parent 1615b0d commit 895d3f0

2 files changed

Lines changed: 9 additions & 4 deletions

File tree

src/main/java/com/influxdb/v3/client/internal/RestClient.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -299,9 +299,13 @@ private String formatErrorMessage(@Nonnull final String body, @Nullable final St
299299

300300
// Core/Enterprise object format:
301301
// {"error":"...","data":{"error_message":"..."}}
302-
final String errorMessage = errNonEmptyField(dataNode, "error_message");
303-
if (errorMessage != null) {
304-
return errorMessage;
302+
if (isV3PartialWriteError(error) && dataNode != null && dataNode.isObject()) {
303+
final StringBuilder message = new StringBuilder(error);
304+
final String errorMessage = errNonEmptyField(dataNode, "error_message");
305+
if (errorMessage != null) {
306+
message.append(":\n\t").append(errorMessage);
307+
}
308+
return message.toString();
305309
}
306310

307311
return error;

src/test/java/com/influxdb/v3/client/internal/RestClientTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -551,7 +551,8 @@ public void errorFromBodyV3WithDataObject() { // Core/Enterprise object format
551551
Assertions.assertThat(thrown)
552552
.isInstanceOf(InfluxDBPartialWriteException.class)
553553
.isInstanceOf(InfluxDBApiHttpException.class)
554-
.hasMessage("HTTP status code: 400; Message: invalid field value");
554+
.hasMessage("HTTP status code: 400; Message: parsing failed for write_lp endpoint:\n"
555+
+ "\tinvalid field value");
555556

556557
InfluxDBPartialWriteException partialWriteException = (InfluxDBPartialWriteException) thrown;
557558
Assertions.assertThat(partialWriteException.statusCode()).isEqualTo(400);

0 commit comments

Comments
 (0)