Skip to content

[v25.1.x] [CORE-13087] dl/coordinator: don't purge data when dropping Glue table#27382

Merged
andrwng merged 2 commits intoredpanda-data:v25.1.xfrom
andrwng:v25.1.x-iceberg-glue-drop-no-purge
Aug 28, 2025
Merged

[v25.1.x] [CORE-13087] dl/coordinator: don't purge data when dropping Glue table#27382
andrwng merged 2 commits intoredpanda-data:v25.1.xfrom
andrwng:v25.1.x-iceberg-glue-drop-no-purge

Conversation

@andrwng
Copy link
Copy Markdown
Contributor

@andrwng andrwng commented Aug 26, 2025

Backport of PR #27367

CONFLICT:

  • first commit needed a trivial tweak because get_effective_default_partition_spec() is slightly relocated in this branch

We'll need another kludge for Glue (to not purge tables when dropping,
which isn't currently supported by Glue), so this pulls out the
Glue-detecting logic for reuse in a subsequent commit.

(cherry picked from commit 60093e7)
Glue doesn's support the purgeRequested option when dropping tables, and
will reject our requests indefinitely when a tombstone exists. This ends
up blocking topic tombstone removal, and therefore blocks subsequent
Iceberg topics of the same name from translating any data.

This commit plumbs a bool to the drop_table() command that is false for
Glue.

I considered doing this in the catalog layer, but opted to be more
explicit (it's hopeflly less surprising for readers that way).

Manually tested this against Glue:
1. create an Iceberg topic
2. produce to the Iceberg topic and wait for Iceberg commits
3. drop the Iceberg topic
4. witness the drop table op eventually succeeding in Glue
5. manually delete the data in Iceberg
6. recreate the topic and produce without issues

...as well as another sequence where I didn't do step 4 and instead
immediately went on to delete data and recreate the topic. In both
cases, the Redpanda coordinator was not blocked and could produce to the
new topic without issues.

(cherry picked from commit dac3524)
@vbotbuildovich
Copy link
Copy Markdown
Collaborator

CI test results

test results on build#71403
test_class test_method test_arguments test_kind job_url test_status passed reason
gtest_cloud_storage_rpfixture gtest_cloud_storage_rpfixture unit https://buildkite.com/redpanda/redpanda/builds/71403#0198e72d-525a-4f6c-a5d2-6222654a2079 FLAKY 1/2
PartitionReassignmentsTest test_add_partitions_with_inprogress_reassignments null integration https://buildkite.com/redpanda/redpanda/builds/71403#0198e76c-c8ad-47d3-b737-49ad42fc54d7 FLAKY 19/21 upstream reliability is '85.0'. current run reliability is '90.47619047619048'. drift is -5.47619 and the allowed drift is set to 50. The test should PASS

@andrwng andrwng requested a review from wdberkeley August 27, 2025 20:05
@andrwng andrwng enabled auto-merge August 27, 2025 20:05
@andrwng andrwng merged commit 51cae7f into redpanda-data:v25.1.x Aug 28, 2025
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants