iting0321 opened a new pull request, #5135: URL: https://github.com/apache/polaris/pull/5135
<!-- ๐ Describe what changes you're proposing, especially breaking or user-facing changes. ๐ See https://github.com/apache/polaris/blob/main/CONTRIBUTING.md for more. --> ## Summary Fixes #3847 . This PR replaces CEL-based retention rules in NoSQL metastore maintenance with simple positive integer configuration values. Each `*-retain` property now specifies the number of latest commits to retain. All properties default to `1`, preserving the current behavior of retaining only the latest commit. This PR also: - Removes the CEL retention module and dependencies. - Adds validation and tests for commit-count retention. - Updates configuration documentation and license files. - Adds migration guidance: replace `*-retain=false` with `*-retain=1`. CEL values such as `true` and expressions using `ageDays`, `ageHours`, or `ageMinutes` are no longer supported. ## Migration This is a user-facing configuration change. Existing CEL values must be replaced with commit counts. | Previous value | New value | |---|---| | `false` | `1` | | `commits <= N` | `N` | | `true` | No exact unbounded equivalent, configure an explicit sufficiently large count | | Expressions using `ageDays`, `ageHours`, or `ageMinutes` | No time-based equivalent, configure an appropriate commit count | For example: ```properties # Before polaris.persistence.nosql.maintenance.catalog.catalog-state-retain=false # After polaris.persistence.nosql.maintenance.catalog.catalog-state-retain=1 ``` This PR does not introduce a `catalog-state-retain-days` property. The current behavior was deliberately changed by #3483 to retain only the latest catalog state, so adding a 30-day default would restore previously removed behavior rather than preserve the existing behavior. ## Checklist - [x] ๐ก๏ธ Don't disclose security issues! (contact [email protected]) - [x] ๐ Clearly explained why the changes are needed, or linked related issues: Fixes #3847 - [x] ๐งช Added/updated tests with good coverage, or manually tested (and explained how) - [x] ๐ก Added comments for complex logic - [ ] ๐งพ Updated `CHANGELOG.md` (if needed) - [x] ๐ Updated documentation in `site/content/in-dev/unreleased` (if needed) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
