Skip to content

docs(influxdb3): note 5xx writes may be partially ingested - #7969

Open
reidkaufmann wants to merge 2 commits into
masterfrom
docs/write-5xx-may-be-ingested
Open

reidkaufmann wants to merge 2 commits into
masterfrom
docs/write-5xx-may-be-ingested

Conversation

@reidkaufmann

@reidkaufmann reidkaufmann commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

A 503 or 504 from a Cloud Dedicated or Clustered write can leave some or all of the data ingested, but the docs say a non-204 status is the final status of the write.

This documents that 5xx writes may be partially ingested and recommends retrying with the same data. It also adds 504 to the retry guidance and API specs. Serverless gets only the shared intro change and a one-line note on its 503.

Evidence
  • Partly replicated writes: the router returns 503 when fewer ingesters than required acknowledge a write, including after one has stored it (rpc_write.rs).
  • Timeouts: a 504 is returned when the router stops waiting on an ingester. Once started, the ingester's write runs to completion even if the router disconnects (ingester/src/wal/wal_sink.rs).
  • Auth: 503 for auth is returned when the router can't reach the authorization service (influxdb_iox#16371); invalid tokens get 403.
  • Serverless: the production global-router deployments use write replication factor 2.
Changes
  • troubleshoot-distributed.md:
    • The intro defines 204 vs 5xx.
    • The 503/504 rows note possible ingestion, and their response body is listed as "JSON or plain text, depending on origin".
    • Adds retry-safety bullets.
    • 504 is added to the backoff guidance and examples.
  • durability.md: what happens when fewer ingesters than required acknowledge a write.
  • Dedicated and Clustered API specs: the 503 note, plus new 504 responses for the v1 and v2 writes.
  • Serverless API spec: the 503 note only.

A 503 or 504 from a Dedicated or Clustered write can leave data ingested.
Document this, recommend retrying with the same data, and add 504 to the
retry guidance and API specs. Serverless gets the 503 note only.
@reidkaufmann
reidkaufmann requested a review from a team as a code owner October 30, 2026 18:16
@reidkaufmann
reidkaufmann requested review from jstirnaman and a balanced review from Copilot and removed request for a team October 30, 2026 18:16
@github-actions

Copy link
Copy Markdown
Contributor

Vale Style Check Results

Metric Count
Errors 0
Warnings 0

✅ Check passed

@github-actions github-actions Bot added product:shared Shared content across products product:v3-distributed InfluxDB 3 Cloud Serverless, Cloud Dedicated, Clustered labels Oct 30, 2026
@github-actions

github-actions Bot commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

🔗 Link Check Results — Link Check Bot

❌ 5 broken link(s) found — fix them before merging.

Metric Value
Files Checked 5
Total Links 2214
Errors 5
Warnings 5
Success Rate 99.09666%

Broken Links

Source File Broken URL Error Report
content/influxdb3/cloud-serverless/write-data/troubleshoot/_index.md /influxdb/v1/about_the_project/release-notes/#v1130 Fragment not found: #v1130 Report
content/influxdb3/clustered/write-data/troubleshoot/_index.md /influxdb/v1/about_the_project/release-notes/#v1130 Fragment not found: #v1130 Report
content/influxdb3/cloud-dedicated/write-data/troubleshoot/_index.md /influxdb/v1/about_the_project/release-notes/#v1130 Fragment not found: #v1130 Report
content/influxdb3/clustered/reference/internals/durability/_index.md /influxdb/v1/about_the_project/release-notes/#v1130 Fragment not found: #v1130 Report
content/influxdb3/cloud-dedicated/reference/internals/durability/_index.md /influxdb/v1/about_the_project/release-notes/#v1130 Fragment not found: #v1130 Report
⚠️ 5 warning(s) (do not fail CI)
Source File URL Issue
content/influxdb3/cloud-dedicated/reference/internals/durability/_index.md https://support.influxdata.com/ Network error: SSL certificate not trusted. Use --insecure if site is trusted (e…
content/influxdb3/cloud-dedicated/write-data/troubleshoot/_index.md https://support.influxdata.com/ Network error: SSL certificate not trusted. Use --insecure if site is trusted (e…
content/influxdb3/cloud-serverless/write-data/troubleshoot/_index.md https://support.influxdata.com/ Network error: SSL certificate not trusted. Use --insecure if site is trusted (e…
content/influxdb3/clustered/reference/internals/durability/_index.md https://support.influxdata.com/ Network error: SSL certificate not trusted. Use --insecure if site is trusted (e…
content/influxdb3/clustered/write-data/troubleshoot/_index.md https://support.influxdata.com/ Network error: SSL certificate not trusted. Use --insecure if site is trusted (e…

Full details: workflow run summary and artifact. Last updated: 2026-10-30 20:08:28 UTC

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Retry guidance omits explicit-timestamp safeguards for Serverless readers and API write endpoints, so following it after partial ingestion can create additional points.

2 open issues
What changed in this PR

This PR clarifies that InfluxDB 3 distributed writes can ingest some or all data despite returning a 5xx response, aligning troubleshooting guidance and API references.

Changes:

  • Explains partial ingestion and insufficient ingester acknowledgments.
  • Adds 504 to retry guidance and examples, with timestamp and field-value precautions.
  • Updates Dedicated and Clustered write responses and adds partial-ingestion notes for Serverless.
File Description
content/​shared/​v3-distributed-internals-reference/​durability.md Explains retention and query visibility after insufficient acknowledgments.
content/​shared/​influxdb3-write-guides/​troubleshoot-distributed.md Clarifies error outcomes and expands retry guidance.
api-docs/​influxdb3/​clustered/​influxdb3-clustered-openapi.yaml Updates 503 and adds 504 descriptions for both write endpoints.
api-docs/​influxdb3/​cloud-serverless/​influxdb3-cloud-serverless-openapi.yaml Notes possible ingestion despite 503 responses.
api-docs/​influxdb3/​cloud-dedicated/​influxdb3-cloud-dedicated-openapi.yaml Updates 503 and adds 504 descriptions for both write endpoints.

Review effort: Balanced

Service unavailable.

- Returns this error if the server is temporarily unavailable to accept writes due to concurrent request limits or insufficient healthy ingesters.
- Some or all of the data may have been ingested. Retrying the write with the same data is safe and recommended.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. In 6948ad4 the 503 and 504 retry sentences in both the Dedicated and Clustered specs now read "If all points include explicit timestamps, retrying the write with the same data is safe and recommended."

Writes are synchronous--the response status indicates the final status of the write and all ingested data is queryable.
Writes are synchronous. A `204` response means all data was ingested and is queryable.
A `5xx` response means the write didn't complete, but some or all of the data may have been ingested.
To make sure data is stored and consistent in query results, retry the write with the same data.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. In 6948ad4 the shared intro, which also renders for Serverless, now adds: "Include explicit timestamps; InfluxDB assigns the server time to points without one, so retrying them creates additional points."

@github-actions

github-actions Bot commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

📦 PR Preview — Preview Bot

Status Details
Result ✅ DEPLOYED (full site)
Preview View preview
Build time 114s
Last updated 2026-10-30 20:11:24 UTC
Changed pages (5)

Preview auto-deploys on push. Will be cleaned up when PR closes.
The preview's deployed-commit meta tag names GitHub's temporary merge commit for this PR, not a commit on the PR branch.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

product:shared Shared content across products product:v3-distributed InfluxDB 3 Cloud Serverless, Cloud Dedicated, Clustered

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants