Use Antalya protocol for Iceberg metadata instead of JSON - #2482
Conversation
`DataFileMetaInfo` is appended to `ReadTaskResponse` only when both peers negotiated version 2, so an upstream executor still receives a plain object path. Co-authored-by: Cursor <cursoragent@cursor.com>
`icebergS3Cluster` is checked with an Antalya initiator and an upstream executor, and the other way around, against pinned `clickhouse/clickhouse-server:26.6.8.7`. Co-authored-by: Cursor <cursoragent@cursor.com>
|
@codex review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Codex Review: Didn't find any major issues. 👍 Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
zvonand
left a comment
There was a problem hiding this comment.
lgtm, except for all the comments that explain obvious behavior a few times; that can be removed
|
|
||
| Version 2 appends optional Iceberg column statistics (`DataFileMetaInfo`) to `ReadTaskResponse`, | ||
| after the upstream cluster-processing payload. The section is a presence flag and, when set, the | ||
| bytes written by `DataFileMetaInfo::serialize`. It is not a `DBMS_CLUSTER_PROCESSING_PROTOCOL_VERSION` |
There was a problem hiding this comment.
Pls trim the comment (at least starting with "It is not a...". no need to re-describe what is described above.
|
|
||
| /// Bump for every Antalya-only wire protocol change. See `docs/en/antalya/protocol.md`. | ||
| static constexpr auto DBMS_ANTALYA_PROTOCOL_VERSION = 1; | ||
| /// 1 — advertisement only. |
There was a problem hiding this comment.
same as above: I am sure we can remove those, otherwise this file will soon become overpolluted
| } | ||
| } | ||
|
|
||
| /// Antalya-only trailer. An upstream peer advertises no marker, so these bytes are not written |
There was a problem hiding this comment.
any reason we really need this comment?
|
let's wait for CI and merge |
CI triage for #2482 @
|
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
Use Antalya protocol for Iceberg metadata instead of JSON
Documentation entry for user-facing changes
...
Note for reviewer
JSON is still used with
lock_object_storage_task_distribution_msfeature, I am planning to remove it later in separate PR.CI/CD Options
Exclude tests:
Regression jobs to run: