Skip to content

[Bug] partition.timestamp-format.strict rejects every DATE partition value #10873

Open

Description

@thswlsqls

Search before asking

  • I searched in the issues and found nothing similar.

Paimon version
master @ 5c82868

Compute Engine
Engine-agnostic (core)

Minimal reproduce step

  1. Create a table partitioned by dt DATE with partition.timestamp-format.strict=true, partition.timestamp-formatter=yyyy-MM-dd and partition.timestamp-pattern=$dt (the DATE setup documented by [core] Fix expiration of DATE partitions #10464 in manage-partitions.md).
  2. Write any row, e.g. dt=2026-10-29.

The write fails with IllegalArgumentException: Partition dt=20755 does not match the 'partition.timestamp-formatter' or 'partition.timestamp-pattern' configuration.

What doesn't meet your expectations?
The documented DATE setup should pass validation. AbstractFileStoreWrite.PartitionTimestampValidator.validate() passes the raw epoch-day integer (20755) to PartitionTimeExtractor instead of the date 2026-10-29.

Anything else?

  • Only happens with strict enabled plus an explicit formatter or pattern; default settings are unaffected.
  • [core] Fix expiration of DATE partitions #10464 added the same DATE-to-LocalDate conversion only to PartitionExpireStrategy#convertPartition; the write-time validator was not updated.

Are you willing to submit a PR?

  • I'm willing to submit a PR!

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions