Skip to content

[v26.1.x] iceberg/transforms: return date value from day transform#30534

Merged
mmaslankaprv merged 3 commits into
redpanda-data:v26.1.xfrom
vbotbuildovich:backport-pr-30515-v26.1.x-397
Jun 8, 2026
Merged

[v26.1.x] iceberg/transforms: return date value from day transform#30534
mmaslankaprv merged 3 commits into
redpanda-data:v26.1.xfrom
vbotbuildovich:backport-pr-30515-v26.1.x-397

Conversation

@vbotbuildovich

Copy link
Copy Markdown
Collaborator

Backport of PR #30515

In preparation for changing the day transform to return a date value
per the Iceberg spec, allow the time transform path formatter to read
the int32 unit count from either int_value or date_value.

(cherry picked from commit e973698)
Per the Iceberg spec, the day transform's result type is date, not
int. Align both the value produced by apply_transform and the
partition-key schema derived in partition_key_type so catalogs see
the spec-conformant column type. The underlying int32 (days since
epoch) is unchanged, so existing on-disk data formats are unaffected.

See: https://github.com/apache/iceberg/blob/e1705f4956f4b92bb6f00b593c8287bdbf61aa6c/api/src/main/java/org/apache/iceberg/transforms/Days.java#L47
(cherry picked from commit 321c9c3)
Drives records across UTC day boundaries through a partitioning_writer
configured with a `day` partition spec, asserts one output file per
day, and locks in that the partition key field carries a `date_value`
(per the Iceberg spec) rather than an `int_value`. Adds small
`day_partition_spec()` and `get_day()` helpers symmetric to the
existing hourly ones.

(cherry picked from commit b1dd412)
@vbotbuildovich vbotbuildovich added this to the v26.1.x-next milestone May 19, 2026
@vbotbuildovich vbotbuildovich added the kind/backport PRs targeting a stable branch label May 19, 2026
@mmaslankaprv

Copy link
Copy Markdown
Member

/ci-repeat

@vbotbuildovich

vbotbuildovich commented May 27, 2026

Copy link
Copy Markdown
Collaborator Author

CI test results

test results on build#84992
test_status test_class test_method test_arguments test_kind job_url passed reason test_history
FAIL src/v/datalake/coordinator/tests/coordinator_test src/v/datalake/coordinator/tests/coordinator_test unit https://buildkite.com/redpanda/redpanda/builds/84992#019e68e2-6f6f-4bea-98a1-5cc4586d6fd1 0/1
test results on build#84997
test_status test_class test_method test_arguments test_kind job_url passed reason test_history
FLAKY(PASS) RedpandaNodeOperationsSmokeTest test_node_ops_smoke_test {"cloud_storage_type": 1, "mixed_versions": false} integration https://buildkite.com/redpanda/redpanda/builds/84997#019e69be-7c24-4d01-a124-a345276ee5bf 10/11 Test PASSES after retries.No significant increase in flaky rate(baseline=0.0000, p0=1.0000, reject_threshold=0.0100. adj_baseline=0.1000, p1=0.3487, trust_threshold=0.5000) https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=RedpandaNodeOperationsSmokeTest&test_method=test_node_ops_smoke_test

@mmaslankaprv

Copy link
Copy Markdown
Member

/ci-repeat 1

@mmaslankaprv mmaslankaprv merged commit fc2aefd into redpanda-data:v26.1.x Jun 8, 2026
20 checks passed
@tyson-redpanda tyson-redpanda modified the milestones: v26.1.x-next, v26.1.10 Jun 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/redpanda kind/backport PRs targeting a stable branch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants