JingsongLi opened a new pull request, #8920: URL: https://github.com/apache/paimon/pull/8920
## What changed - Add a stable UUID to Java and Python snapshots while preserving `null` when reading legacy snapshot files. - Pass `baseSnapshotUuid` through `SnapshotCommit`, `Catalog.commitSnapshot`, and the REST commit protocol in both Java and Python. - Preserve snapshot UUIDs when converting snapshots to tags or changelogs. - Validate the supplied base snapshot UUID in the REST catalog test servers before accepting a commit. - Update the REST OpenAPI definition, snapshot specification, and behavioral tests. ## Why A snapshot sequence number verifies the expected predecessor position, but it does not identify the exact immutable snapshot state used to build manifests and statistics. Passing the base snapshot UUID lets a catalog reject a commit prepared from a different current snapshot. ## Impact Catalog implementations and REST clients now receive the base snapshot UUID as part of snapshot commits. Newly created snapshots contain a UUID. Existing persisted snapshots remain readable and expose a `null` UUID, with the existing snapshot ID validation providing the compatibility fallback. ## Validation - Java: 12 focused snapshot/catalog/REST/commit tests passed. - Java: `mvn -o -pl paimon-core -am -DskipTests compile` passed with Checkstyle, Spotless, and Enforcer enabled. - Python: 69 related tests passed; the optional Lance test was excluded because the local environment does not provide `lance`. - Python: changed files passed Flake8 and `compileall`. - `git diff --check` passed. -- 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]
