diff --git a/src/main/java/com/influxdb/v3/client/internal/RestClient.java b/src/main/java/com/influxdb/v3/client/internal/RestClient.java index 7d92b054..29112515 100644 --- a/src/main/java/com/influxdb/v3/client/internal/RestClient.java +++ b/src/main/java/com/influxdb/v3/client/internal/RestClient.java @@ -374,7 +374,8 @@ private boolean isV3PartialWriteError(@Nullable final String errorMessage) { } String normalized = errorMessage.toLowerCase(Locale.ROOT); return normalized.contains("partial write of line protocol occurred") - || normalized.contains("parsing failed for write_lp endpoint"); + || normalized.contains("parsing failed for write_lp endpoint") // for Core 3.9 and earlier + || normalized.contains("line protocol parsing error"); // for Core 3.10 and later } private boolean errIsJsonLikeContentType(@Nullable final String contentType) { diff --git a/src/test/java/com/influxdb/v3/client/integration/E2ETest.java b/src/test/java/com/influxdb/v3/client/integration/E2ETest.java index b0bdee45..77628ed5 100644 --- a/src/test/java/com/influxdb/v3/client/integration/E2ETest.java +++ b/src/test/java/com/influxdb/v3/client/integration/E2ETest.java @@ -261,7 +261,7 @@ public void testWriteErrorWithoutAcceptPartial() throws Exception { Throwable thrown = Assertions.catchThrowable(() -> client.writeRecord(points, options)); Assertions.assertThat(thrown).isInstanceOf(InfluxDBPartialWriteException.class); Assertions.assertThat(thrown.getMessage()) - .contains("parsing failed for write_lp endpoint"); + .contains("line protocol parsing error"); InfluxDBPartialWriteException partialError = (InfluxDBPartialWriteException) thrown; Assertions.assertThat(partialError.lineErrors()).hasSize(1);