Skip to content

Modernize TimescaleDB to 2.27.1 (pg17) + rowcount tripwire#10

Draft
mattstratton wants to merge 1 commit into
mainfrom
chore/sync-tsdb-2.27.1-and-rowcount-tripwire
Draft

Modernize TimescaleDB to 2.27.1 (pg17) + rowcount tripwire#10
mattstratton wants to merge 1 commit into
mainfrom
chore/sync-tsdb-2.27.1-and-rowcount-tripwire

Conversation

@mattstratton

Copy link
Copy Markdown
Collaborator

Syncs the TimescaleDB modernization and a result-safety check from our internal benchmark work. Draft pending a review of the public-facing wording.

Changes

  • timescaledb/benchmark.sh — TimescaleDB extension 2.18.1 → 2.27.1, pg client 16 → 17, and the modern columnstore ALTER TABLE syntax (timescaledb.enable_columnstore / segmentby / orderby) with the same hand-tuned segmentby='' / orderby='order_id, event_created' values.
  • timescaledb/compress.sh — use the modern CALL convert_to_columnstore() procedure (replaces the deprecated SELECT compress_chunk()), fanned across workers via xargs -P.
  • timescaledb/run.sh + tiger-cloud/run.sh — add a rowcount tripwire: after the timed runs, count each query's rows once and warn loudly (plus an end-of-run summary) if any query returns zero rows. A silent misconfiguration that returns empty result sets otherwise looks like a speedup, because the timing loop only greps Time:. 0019 is allowlisted since it legitimately returns zero rows on this dataset (no Shipped events → its anti-join is always true; identical to postgres/queries/0019).

Scope

Deliberately limited to the TimescaleDB modernization + the tripwire. Other divergences between this repo and our internal copy (e.g. ClickHouse partitioning, doris) are real but separate, and will come in a follow-up PR.

🤖 Generated with Claude Code

- Bump TimescaleDB extension 2.18.1 -> 2.27.1 and pg client 16 -> 17.
- Switch to the modern columnstore ALTER TABLE syntax
  (timescaledb.enable_columnstore / segmentby / orderby), keeping the same
  hand-tuned segmentby/orderby values.
- compress.sh: use the modern CALL convert_to_columnstore() procedure, fanned
  across workers via xargs -P.
- run.sh (timescaledb + tiger-cloud): add a rowcount tripwire that warns loudly
  when a query returns zero rows, so a silent misconfiguration returning empty
  result sets can't masquerade as a speedup (the timing loop only greps "Time:"
  and is otherwise blind to this). 0019 is allowlisted because it legitimately
  returns zero rows on this dataset.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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.

1 participant