-
Notifications
You must be signed in to change notification settings - Fork 319
refactor: consolidate snapshot expiration into MaintenanceTable #2143
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
base: main
Are you sure you want to change the base?
refactor: consolidate snapshot expiration into MaintenanceTable #2143
Conversation
- Move ExpireSnapshots functionality from standalone class to MaintenanceTable - Replace fluent API (table.expire_snapshots().method().commit()) with direct execution (table.maintenance.method()) - Remove ExpireSnapshots class and integrate logic into maintenance operations - Update all tests to use new unified maintenance API - Maintain all existing validation and protection logic for snapshots This change consolidates table maintenance operations under a single interface and simplifies the API by removing the need for explicit commit calls. Breaking change: table.expire_snapshots() API is replaced with table.maintenance.expire_*() methods
@Fokko @jayceslesar let me know if you guys prefer i stack this pr into the #1200 or if you both would rather i wait until the #1200 is merged into |
Great seeing this PR @ForeverAngry, thanks again for working on this! I'm okay with first merging #1200, but we could also merge this first, and adapt the remove orphan files routine to use |
- Move ExpireSnapshots functionality from standalone class to MaintenanceTable - Replace fluent API (table.expire_snapshots().method().commit()) with direct execution (table.maintenance.method()) - Remove ExpireSnapshots class and integrate logic into maintenance operations - Update all tests to use new unified maintenance API - Maintain all existing validation and protection logic for snapshots This change consolidates table maintenance operations under a single interface and simplifies the API by removing the need for explicit commit calls. Breaking change: table.expire_snapshots() API is replaced with table.maintenance.expire_*() methods
@Fokko did you decide if you wanted me to stay stacked on the delete orphans pr, or go ahead and prepare the pr for this, to the main branch? |
Rationale for this change
Consolidates snapshot expiration functionality from the standalone
ExpireSnapshots
class into theMaintenanceTable
class for a unified maintenance API. This was planned work left over from #1880.Are these changes tested?
Yes - but the pr is predicated on the final changes from #1200.
Are there any user-facing changes?
Breaking Changes
ExpireSnapshots
functionality toMaintenanceTable
ExpireSnapshots
class entirelytable.maintenance.*
APIAPI Changes
Before: