Skip to content

feat: recognize message.timestamp.after.max.ms and before.max.ms settings - #264

Open
pratikmallya wants to merge 1 commit into
segmentio:masterfrom
pratikmallya:pratikmallya/update-validation-settings
Open

feat: recognize message.timestamp.after.max.ms and before.max.ms settings#264
pratikmallya wants to merge 1 commit into
segmentio:masterfrom
pratikmallya:pratikmallya/update-validation-settings

Conversation

@pratikmallya

@pratikmallya pratikmallya commented Aug 24, 2026

Copy link
Copy Markdown

These Kafka 3.6+ topic configs bound how far a message timestamp can
diverge from broker time in either direction. topicctl's config
validator didn't have entries for them, so any topic YAML explicitly
setting these keys failed with "not recognized topic config setting"
even though brokers (including Confluent Cloud) support and return
them (see #191).

Add validators using the same non-negative int64 pattern as sibling
settings like delete.retention.ms.

upstream docs: https://docs.confluent.io/platform/current/installation/configuration/topic-configs.html#message-timestamp-after-max-ms and https://docs.confluent.io/platform/current/installation/configuration/topic-configs.html#message-timestamp-before-max-ms

Testing

built and run this locally. The error message changed from:

-----------------+----+------------------------------------------------------------------------------
       NAME      | OK |                                   DETAILS
-----------------+----+------------------------------------------------------------------------------
  config correct | ✗  | config validation error: 1 error occurred:
                 |    |         * Key message.timestamp.after.max.ms is not recognized topic config setting
                 |    |
                 |    |
-----------------+----+------------------------------------------------------------------------------

to

-----------------------------+----+--------------------------------------------------------------------------------------------------
             NAME            | OK |                                             DETAILS
-----------------------------+----+--------------------------------------------------------------------------------------------------
  config correct             | ✓  |
  configs consistent         | ✓  |
  topic exists               | ✓  |
  config settings correct    | ✗  | 1 keys have different values between cluster and topic config: [message.timestamp.after.max.ms]
  replication factor correct | ✓  |
  partition count correct    | ✓  |
  throttles clear            | ✓  |
  replicas in-sync           | ✓  |
-----------------------------+----+--------------------------------------------------------------------------------------------------

which is expected (this is before apply)

…ings

These Kafka 3.6+ topic configs bound how far a message timestamp can
diverge from broker time in either direction. topicctl's config
validator didn't have entries for them, so any topic YAML explicitly
setting these keys failed with "not recognized topic config setting"
even though brokers (including Confluent Cloud) support and return
them (see segmentio#191).

Add validators using the same non-negative int64 pattern as sibling
settings like delete.retention.ms.
@pratikmallya
pratikmallya requested a review from a team as a code owner August 24, 2026 17:50
@pratikmallya

Copy link
Copy Markdown
Author

@petedannemann @hhahn-tw not sure how notification works for this repo, the codeowners seem to point to a team that doesn't exist, just tagging y'all from the commit history, apologies if that isn't the right process.

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