Skip to content

unify timestamping interval into a single system parameter#35027

Open
petrosagg wants to merge 4 commits intoMaterializeInc:mainfrom
petrosagg:timestamp-interval-system-var
Open

unify timestamping interval into a single system parameter#35027
petrosagg wants to merge 4 commits intoMaterializeInc:mainfrom
petrosagg:timestamp-interval-system-var

Conversation

@petrosagg
Copy link
Contributor

@petrosagg petrosagg commented Feb 16, 2026

This PR replaces five dyncfg parameters (pg_offset_known_interval, mysql_offset_known_interval, kafka_default_metadata_fetch_interval, sql_server_cdc_poll_interval, sql_server_offset_known_interval) and a hardcoded 1s constant with a single timestamp_interval system parameter.

This parameter controls the timestamping interval of tables and the default timestamping interval of sources. For sources, users can specify a custom timestamping interval as part of the CREATE SOURCE statement using the TIMESTAMP INTERVAL WITH option. When this parameter is not specified the source is created with the current value of the timestamp_interval system parameter. Changing the global timestamp_interval parameter won't affect already created sources. To change the timestamp interval of an already created source an ALTER SOURCE statement is needed.

The value of timestamp_interval is validated against min_timestamp_interval and max_timestamp_interval.

part of CLU-25

@github-actions
Copy link

Pre-merge checklist

  • The PR title is descriptive and will make sense in the git log.
  • This PR has adequate test coverage / QA involvement has been duly considered. (trigger-ci for additional test/nightly runs)
  • If this PR includes major user-facing behavior changes, I have pinged the relevant PM to schedule a changelog post.
  • This PR has an associated up-to-date design doc, is a design doc (template), or is sufficiently small to not require a design.
  • If this PR evolves an existing $T ⇔ Proto$T mapping (possibly in a backwards-incompatible way), then it is tagged with a T-proto label.
  • If this PR will require changes to cloud orchestration or tests, there is a companion cloud PR to account for those changes that is tagged with the release-blocker label (example).

@petrosagg petrosagg force-pushed the timestamp-interval-system-var branch from a020e63 to 3385659 Compare February 16, 2026 14:03
This PR replaces five dyncfg parameters (`pg_offset_known_interval`,
`mysql_offset_known_interval`, `kafka_default_metadata_fetch_interval`,
`sql_server_cdc_poll_interval`, `sql_server_offset_known_interval`) and
a hardcoded 1s constant with a single `timestamp_interval` system
parameter.

This parameter controls the timestamping interval of tables and the
default timestamping interval of sources. For sources, users can specify
a custom timestamping interval as part of the `CREATE SOURCE` statement
using the `TIMESTAMP INTERVAL` WITH option. When this parameter is not
specified the source is created with the current value of the
`timestamp_interval` system parameter. Changing the global
`timestamp_interval` parameter won't affect already created sources. To
change the timestamp interval of an already created source an `ALTER
SOURCE` statement is needed.

The value of `timestamp_interval` is validated against
`min_timestamp_interval` and `max_timestamp_interval`.

Signed-off-by: Petros Angelatos <petrosagg@gmail.com>
@petrosagg petrosagg force-pushed the timestamp-interval-system-var branch from 2414c0f to 2ca8b31 Compare February 16, 2026 16:55
@petrosagg petrosagg marked this pull request as ready for review February 16, 2026 17:07
@petrosagg petrosagg requested review from a team as code owners February 16, 2026 17:07
@petrosagg petrosagg requested a review from ohbadiah February 16, 2026 17:07
Copy link
Contributor

@def- def- left a comment

Choose a reason for hiding this comment

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

Nightly triggered: https://buildkite.com/materialize/nightly/builds/15175

I also want to see what happens if you lower it to 10 ms in all of CI, maybe something falls over in an interesting way: https://buildkite.com/materialize/test/builds/115951

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.

2 participants