Skip to content

Conversation

@jstirnaman
Copy link
Contributor

@jstirnaman jstirnaman commented Dec 2, 2025

Summary

Expands duplicate points documentation for Cloud Dedicated and Clustered to address non-deterministic write ordering when duplicate points are flushed together.

Changes

  • Add warning callout explaining duplicate point overwrites are non-deterministic
  • Add recommended patterns section with append-only approaches
  • Add SQL and InfluxQL query examples for getting latest state
  • Add anti-patterns section with common mistakes to avoid
  • Add retention guidance for last-value tables (Cloud Dedicated only)
  • Add performance considerations for append-only patterns
  • Add cross-links from schema-design and optimize-writes pages

Questions for Engineering

Should the following also apply to Clustered?

Add retention guidance for last-value tables (Cloud Dedicated only)

Should this documentation also apply to Cloud Serverless?

The current changes are scoped to Cloud Dedicated and Clustered only (matching the original documentation scope). However, the optimize-writes.md page for Cloud Serverless already contains a "Write ordering for duplicate points" callout with similar content.

Can Engineering confirm whether Cloud Serverless has the same ingestion/flushing behavior that causes non-deterministic ordering when duplicate points are flushed together? If so, we should extend this documentation to include Cloud Serverless as well.

Test plan

  • Build Hugo site and verify pages render correctly
  • Verify cross-links work for Cloud Dedicated, Clustered, and Cloud Serverless
  • Review SQL and InfluxQL query examples for correctness

closes influxdata/DAR#560

Expand duplicate points documentation for Cloud Dedicated and Clustered
to address non-deterministic write ordering when duplicate points are
flushed together.

Changes:
- Add warning callout explaining duplicate point overwrites are non-deterministic
- Add recommended patterns section with append-only approaches
- Add SQL and InfluxQL query examples for getting latest state
- Add anti-patterns section with common mistakes to avoid
- Add retention guidance for last-value tables (Cloud Dedicated only)
- Add performance considerations for append-only patterns
- Add cross-links from schema-design and optimize-writes pages

closes influxdata/DAR#560
jstirnaman and others added 3 commits December 3, 2025 08:54
Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
@jstirnaman
Copy link
Contributor Author

@helenosheaa Specifically, can you help answer Questions for Engineering in the description?

@helenosheaa
Copy link
Member

Can Engineering confirm whether Cloud Serverless has the same ingestion/flushing behavior that causes non-deterministic ordering when duplicate points are flushed together?

Yes it would also apply to Serverless

Should the following also apply to Clustered?

Add retention guidance for last-value tables (Cloud Dedicated only)

It would be the same yes

@will-influxdata
Copy link

This is related for Enterprise v3:

InfluxDB v3 Enterprise uses the same underlying write semantics, so the non-determinism with duplicate points in the same batch can occur there as well. The difference is that Enterprise gives you more control over how long data stays in the “gen1” tier before being compacted/flushed via the gen1-duration setting:

https://docs.influxdata.com/influxdb3/enterprise/reference/config-options/#gen1-duration

@jstirnaman
Copy link
Contributor Author

This is related for Enterprise v3:

InfluxDB v3 Enterprise uses the same underlying write semantics, so the non-determinism with duplicate points in the same batch can occur there as well. The difference is that Enterprise gives you more control over how long data stays in the “gen1” tier before being compacted/flushed via the gen1-duration setting:

https://docs.influxdata.com/influxdb3/enterprise/reference/config-options/#gen1-duration

Thanks @will-influxdata! I'll add it for Enterprise in a separate PR.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants