feat(python, rust): cleanup expired logs post-commit hook #2459
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.
Description
This adds the cleanup expired logs post-commit hook. Tables by default have
delta.enableExpiredLogCleanup = true
, anddelta.logRetentionDuration = interval 30 days
. So moving forward those logs will be automatically cleaned up.If users set
delta.enableExpiredLogCleanup = false
during table creation, the log clean up will never be executed in the post-commit. When cleanup_expired_logs in the post-commit hook properties is passed, then that take precedence over the table config.Additionally to most operations you can now pass in Python the PostCommitHookProperties to control the post commit hook, only really needed for advanced use cases, where you want to disable creating checkpoints across the board or override the log clean up.
@Blajda this is a follow up PR of the hooks, will look into creating an auto_vacuum_hook afterwards