Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #365 +/- ##
==========================================
+ Coverage 87.90% 88.19% +0.29%
==========================================
Files 20 21 +1
Lines 1397 1525 +128
Branches 241 275 +34
==========================================
+ Hits 1228 1345 +117
- Misses 81 82 +1
- Partials 88 98 +10 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
Adds support for InfluxDB 3 “partial writes” by introducing an acceptPartial write option (and corresponding config/env keys) and surfacing parsed, line-level write errors through a dedicated exception type.
Changes:
- Add
acceptPartialtoWriteOptionsandClientConfig(incl. connection string, env, and system properties support). - Parse v3 write error responses to expose line-level error details via
InfluxDBPartialWriteException. - Add/extend unit + integration tests and update README/CHANGELOG documentation.
Reviewed changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| src/main/java/com/influxdb/v3/client/write/WriteOptions.java | Adds acceptPartial option, builder support, safe accessor, and equality/hash updates. |
| src/main/java/com/influxdb/v3/client/config/ClientConfig.java | Adds writeAcceptPartial config with parsing from connection string/env/system properties. |
| src/main/java/com/influxdb/v3/client/internal/InfluxDBClientImpl.java | Uses v3 write endpoint when noSync or acceptPartial is enabled; adds accept_partial query param. |
| src/main/java/com/influxdb/v3/client/internal/RestClient.java | Parses response bodies for line-level write errors and throws a structured partial-write exception. |
| src/main/java/com/influxdb/v3/client/InfluxDBPartialWriteException.java | New exception type to expose line-level write failures to callers. |
| src/main/java/com/influxdb/v3/client/InfluxDBClient.java | Documents the new config/env/system property key in client factory docs. |
| src/test/java/com/influxdb/v3/client/write/WriteOptionsTest.java | Extends WriteOptions tests for equality/hash and config override behavior of acceptPartial. |
| src/test/java/com/influxdb/v3/client/config/ClientConfigTest.java | Extends config parsing/toString/equality tests for writeAcceptPartial. |
| src/test/java/com/influxdb/v3/client/internal/RestClientTest.java | Adds assertions around structured partial-write parsing and fallback behavior. |
| src/test/java/com/influxdb/v3/client/InfluxDBClientWriteTest.java | Adds request-shape tests for accept_partial and v3/v2 behavior. |
| src/test/java/com/influxdb/v3/client/integration/E2ETest.java | Adds E2E validation for accept-partial error handling and exception typing. |
| README.md | Documents how to use acceptPartial and inspect InfluxDBPartialWriteException details. |
| CHANGELOG.md | Adds changelog entry for partial write support. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 13 out of 13 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
8bc0938 to
f946fdb
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 13 out of 13 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Proposed Changes
Adds partial-write support with structured error details in
InfluxDBPartialWriteException, including per-lineline_number,error_message, andoriginal_lineso callers can decide whether to drop/retry/fix specific lines in a batch.This also aligns write routing with the rollout contract:
/api/v3/write_lpacceptPartialdefaults totrue(server default behavior)accept_partial=falseis sent only when partial writes are explicitly disableduseV2Apiroutes writes to/api/v2/writefor Clustered/v2-compatible backendsConfiguration surfaces now include:
acceptPartial,useV2ApiwriteAcceptPartial,writeUseV2ApiINFLUX_WRITE_ACCEPT_PARTIAL,INFLUX_WRITE_USE_V2_APIValidation:
useV2Api=truewithnoSync=trueis rejected before request dispatch.See Partial writes in InfluxDB documentation.
Optional v2 compatibility mode:
Checklist