Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[v24.3.x] iceberg: fix spec inconsistency in manifest list files_count #24650

Open
wants to merge 2 commits into
base: v24.3.x
Choose a base branch
from

Conversation

vbotbuildovich
Copy link
Collaborator

Backport of PR #24602

The schema we are using was pulled some time ago and appears to be
outdated. The Apache Iceberg Java implementation has since renamed
added_data_files_count and friends to added_files_count, to match the
documented spec.

This meant that after updating the table with an external non-Redpanda
writer, Redpanda wouldn't be able to download the current manifest list
when appending and get stuck, complaining about an EOF (presumably the
Avro C++ library throws this when there is an unknown field).

I suspect that this may have also been the cause of an EOF seen when
trying to read a manifest list with BigQuery:

Error while reading data, error message: The Apache Avro failed to read data with the following error: EOF reached File: [...]/metadata/snap-[...]-0.avro

The old names are added as an alias to ensure Redpanda can still
download Iceberg manifest lists from 24.3.

(cherry picked from commit a3e6880)
Adds a simple upgrade test to go from 24.3 to HEAD, ensuring progress
can be made.

A recent change to our Iceberg manifest list schema changed the name of
one field, adding the old name as an alias. Without that aliasing, this
new test would fail.

(cherry picked from commit 59cc2c3)
@vbotbuildovich vbotbuildovich added this to the v24.3.x-next milestone Dec 23, 2024
@vbotbuildovich vbotbuildovich added the kind/backport PRs targeting a stable branch label Dec 23, 2024
@vbotbuildovich
Copy link
Collaborator Author

vbotbuildovich commented Dec 24, 2024

Retry command for Build#60094

please wait until all jobs are finished before running the slash command


/ci-repeat 1
tests/rptest/tests/datalake/datalake_e2e_test.py::DatalakeE2ETests.test_upload_after_external_update@{"cloud_storage_type":1}

@vbotbuildovich
Copy link
Collaborator Author

CI test results

test results on build#60094
test_id test_kind job_url test_status passed
gtest_raft_rpunit.gtest_raft_rpunit unit https://buildkite.com/redpanda/redpanda/builds/60094#0193f598-ae63-4c65-8cb0-41cc29ff82dc FLAKY 1/2
rptest.tests.datalake.datalake_e2e_test.DatalakeE2ETests.test_upload_after_external_update.cloud_storage_type=CloudStorageType.S3 ducktape https://buildkite.com/redpanda/redpanda/builds/60094#0193f5de-b7e9-4e27-a0e9-fb13bbb12a81 FAIL 0/1
rptest.tests.datalake.datalake_e2e_test.DatalakeE2ETests.test_upload_after_external_update.cloud_storage_type=CloudStorageType.S3 ducktape https://buildkite.com/redpanda/redpanda/builds/60094#0193f5f1-6ec6-4417-93a7-6d4b32580e2b FAIL 0/1

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.

2 participants