REST: Explicitly send purgeRequested=false when dropping table without purge #15164
+8
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Modify
RESTSessionCatalog.dropTable()to explicitly sendpurgeRequested=falseinstead of omitting the parameter.Problem
Currently,
dropTable(context, identifier)sends a DELETE request without thepurgeRequestedparameter, relying on the server to default tofalse.However, some catalogs default
purgeRequested=trueto work around Spark's bug where it doesn't forwardpurgeRequested=trueeven withDROP TABLE ... PURGE(#11023, #11317).With such catalogs, calling
catalog.dropTable(identifier, false)unexpectedly purges table data because the parameter is omitted and the server defaults totrue.Solution
Explicitly send
purgeRequested=false:This ensures the client's intent is honored regardless of server defaults.
Related Issues