Skip to content

[common] Fix auto-partition time validation for quarter and invalid dates - #4549

Open
firasbouzazi wants to merge 1 commit into
apache:mainfrom
firasbouzazi:fix-auto-partition-time-validation
Open

firasbouzazi wants to merge 1 commit into
apache:mainfrom
firasbouzazi:fix-auto-partition-time-validation

Conversation

@firasbouzazi

@firasbouzazi firasbouzazi commented Oct 5, 2026 •

Copy link
Copy Markdown

Validation of auto-partition time values had two problems:

  1. The default QUARTER format "yyyyQ" could never be parsed: the variable-width quarter field cannot follow the adjacent year field, so even the current quarter (e.g. "20244") was rejected. Manually creating a partition or dynamically creating one from the client always failed for QUARTER auto-partitioned tables, and isPastAutoPartition always returned false for them.
  2. Parsing used the SMART resolver, which accepts non-existent dates such as "20240230", "20230229" or hour "24", so such partitions could be created on auto-partitioned tables.

Parse partition time values with a strict parser that reads a single-letter quarter as a fixed-width field and range-checks it.

Purpose

Linked issue: close #4548

Brief change log

Tests

API and Format

Documentation

…ates

Validation of auto-partition time values had two problems:

1. The default QUARTER format "yyyyQ" could never be parsed: the
   variable-width quarter field cannot follow the adjacent year field,
   so even the current quarter (e.g. "20244") was rejected. Manually
   creating a partition or dynamically creating one from the client
   always failed for QUARTER auto-partitioned tables, and
   isPastAutoPartition always returned false for them.
2. Parsing used the SMART resolver, which accepts non-existent dates
   such as "20240230", "20230229" or hour "24", so such partitions
   could be created on auto-partitioned tables.

Parse partition time values with a strict parser that reads a
single-letter quarter as a fixed-width field and range-checks it.
@firasbouzazi
firasbouzazi force-pushed the fix-auto-partition-time-validation branch from af80d8b to f6bf912 Compare October 5, 2026 10:10
@firasbouzazi

Copy link
Copy Markdown
Author

Hi @wuchong @polyzos Can you please take a look on this ?

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.

Auto-partition time validation rejects all QUARTER partitions and accepts non-existent dates

1 participant