roryqi opened a new pull request, #14375: URL: https://github.com/apache/gravitino/pull/14375
### What changes were proposed in this pull request? Add `bin/migrate-policy-bindings.sh` with dry-run, migration, and verification modes. Convert legacy direct bindings through `PolicyManager.addPolicyToObject`, verify replacements before retiring old relations, and prevent startup while active legacy bindings remain. Include upgrade instructions and migration tests. Depends on #14326. This branch is based on that PR; [review only the migration changes](https://github.com/qqqttt123/gravitino/compare/feat/policy-hidden-tag-migration...feat/policy-binding-migration-tool) until the first PR is merged. ### Why are the changes needed? Preserve historical policy scope when upgrading to tag-based policy resolution. Related to #12179. ### Does this PR introduce _any_ user-facing change? Run the offline tool after schema upgrade while all servers are stopped. Each policy migrates in one transaction; retries use the remaining active legacy rows. ### How was this patch tested? 65 focused tests passed: 26 unit tests and 13 migration tests per database on H2, MySQL, and PostgreSQL, including verification, rollback, retry, launcher behavior, tag API protection, and policy inheritance. Spotless, documentation links, shell syntax, and `git diff --check`. -- 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]
