sundapeng opened a new pull request, #9710: URL: https://github.com/apache/paimon/pull/9710
### Purpose Follow-up to #9540. Define the server-first REST contract needed before `FormatTableCommit` can reset a custom partition location during overwrite/truncate without reading the full partition registry. An explicit, position-aligned `partitionOptions[i]["path"] = null` is a tombstone that removes only the stored location metadata; it never deletes data at the external location. The tombstone requires `replaceStatistics=true` and a same-spec replacement statistics entry. Missing `path` preserves the current location, and non-null `path` keeps its existing behavior. The contract also keeps statistics-only replacement (for example, `ANALYZE`) from changing a custom location. An additive statistics report for a pre-existing custom-location Format Table partition is rejected, while one request may still register a new custom location with its initial additive statistics. A single HTTP request is atomic and retry-safe. Providers without tombstone support reject it. `CatalogFormatTablePartitionManager` still batches more than 1,000 partitions into separate requests, so atomicity does not span those requests. This PR updates the public API, OpenAPI specification, documentation, validation, and the reference test server. It intentionally does not make `FormatTableCommit` send tombstones; that client behavior and targeted-lookup optimization will follow after the server contract is available. ### Tests - Full `paimon-api` test suite (185 tests) - `RESTApiJsonTest`, `MockRESTCatalogTest`, and `CatalogFormatTablePartitionManagerTest` (276 tests) - `mvn -B -ntp -pl paimon-api,paimon-core validate -DskipTests` - `node scripts/validate-rest-openapi.js` - Mutation checks for tombstone application, omitted-path preservation, and same-spec prevalidation -- 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]
