Skip to content

[rest] Add explicit commit lease release - #11146

Draft
leaves12138 wants to merge 3 commits into
apache:masterfrom
leaves12138:codex/rest-commit-lease-release
Draft

leaves12138 wants to merge 3 commits into
apache:masterfrom
leaves12138:codex/rest-commit-lease-release

Conversation

@leaves12138

Copy link
Copy Markdown
Contributor

What changes

A writer that acquires a REST commit lease can leave another writer waiting for expiry if it exits before publishing a snapshot. Add an idempotent POST .../commit-lock/release endpoint and an optional leaseId on acquire and renew. The release request identifies the exact acquisition so delayed cleanup cannot clear a newer lease held by the same writer.

The Java client attempts release when it exits the lease scope, including after a failed or empty operation. Expiry remains the fallback when release cannot reach the server. Catalog servers need to support leaseId and the release endpoint to provide active release. The current rest.commit.acquire-lock option still acquires before each publication attempt.

Verification

  • 127 targeted Java tests covering REST signing, Jackson compatibility, lease lifecycle, and snapshot publication. The 12 REST integration cases were rerun after the final fixture adjustment.
  • 34 Python DLF signer tests, including parity with Java operation mappings.
  • Maven validation, Spotless, and git diff --check.

@leaves12138
leaves12138 marked this pull request as draft November 13, 2026 12:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant