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 topic lifecycle management #24295

Merged
merged 19 commits into from
Nov 26, 2024

Conversation

ztlpn
Copy link
Contributor

@ztlpn ztlpn commented Nov 25, 2024

Backport of PR #24119
Fixes #24294

ztlpn added 19 commits November 25, 2024 20:40
GC process after deleting a topic may involve cleanup in several
different places. Track this by introducing a "purge domain" and
plumbing it through all lifecycle management methods.

(cherry picked from commit 64c4341)
Previously we used http_impostor which was not providing adequate S3 API
- e.g. if the test put some file into "S3", it then couldn't read that
file back (the impostor returned 404).

(cherry picked from commit 779e77b)
Only register a topic state in the stm, don't create the table just yet.

(cherry picked from commit c2a5252)
As we want to move table creation and schema changes to the coordinator,
this functionality is split out to a separate method, and
schema_manager::get_registered_ids expects the table to already exist
with a correct schema.

(cherry picked from commit 4362a2e)
Resolve a type from a schema_identifier, not by parsing a message.

(cherry picked from commit 71356e9)
Its job is to resolve the table schema from a schema identifier and
ensure that the corresponding table exists and has a compatible schema.

(cherry picked from commit 35b0c61)
(cherry picked from commit d70c12c)

Conflicts:
	src/v/datalake/translation/BUILD
Also make coordinator stm transitions more strict: we now require a
topic state to add files and don't create one automatically. Also remove
table creation from the file commit path (it is expected that the table
is created separately first).

(cherry picked from commit cfce9c0)
We have to do it in DatalakeServices to correctly configure redpanda
with the preferred catalog.

(cherry picked from commit 1e88454)
@ztlpn ztlpn added this to the v24.3.x-next milestone Nov 25, 2024
@ztlpn ztlpn added the kind/backport PRs targeting a stable branch label Nov 25, 2024
@ztlpn ztlpn modified the milestones: v24.3.x-next, v24.3.1-RC8 Nov 25, 2024
@rockwotj
Copy link
Contributor

@ztlpn what's the difference between #24119?

@ztlpn
Copy link
Contributor Author

ztlpn commented Nov 25, 2024

@rockwotj diff to src/v/datalake/translation/BUILD didn't apply (because #24255 is not merged yet)

@ztlpn
Copy link
Contributor Author

ztlpn commented Nov 26, 2024

/ci-repeat 1
release
skip-units
skip-redpanda-build
dt-repeat=5
tests/rptest/tests/maintenance_test.py::MaintenanceTest.test_maintenance_sticky

@ztlpn ztlpn enabled auto-merge November 26, 2024 01:32
@ztlpn
Copy link
Contributor Author

ztlpn commented Nov 26, 2024

@rockwotj rockwotj disabled auto-merge November 26, 2024 12:45
@rockwotj rockwotj merged commit 8e58709 into redpanda-data:v24.3.x Nov 26, 2024
15 of 18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/build area/redpanda kind/backport PRs targeting a stable branch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants