You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opendal.apache.org by "Xuanwo (via GitHub)" <gi...@apache.org> on 2026/09/19 19:21:41 UTC

[PR] docs: specify transactional filesystem publication modes [opendal-yinyang]

Xuanwo opened a new pull request, #47:
URL: https://github.com/apache/opendal-yinyang/pull/47

   # Which issue does this PR close?
   
   Related to #19 (Managed volume architecture). This does not close the architecture tracking issue.
   
   # Rationale for this change
   
   The current format couples a logical snapshot to a complete namespace and cumulative commit list, and treats every stale head as a conflict. Those contracts make small changes grow with the filesystem and its history. File integrity and publication also need explicit boundaries so a range read can verify only the selected units and prepared content can commit without another full download.
   
   Define a replacement transactional contract shared by object-storage publication and a metadata service. Object-storage publication is the first implementation target; both modes have complete semantic requirements.
   
   # What changes are included in this PR?
   
   - Add a target specification for stable node identities and parent/name indexes, incremental metadata, canonical content identities, range verification, and trusted preparation evidence.
   - Define transaction predicates, idempotent receipts, retained snapshots, batching, and uncertain publication outcomes. Distinguish physical publication contention from logical conflicts.
   - Specify both publication authorities: copy-on-write indexes behind an object-store head, or durable service transactions whose acknowledgements do not depend on object-store checkpoints.
   - State derived performance bounds, conformance obligations, and the remaining content/metadata encoding decisions. Keep the existing format document explicitly marked as the current implementation.
   
   # Are there any user-facing changes?
   
   Documentation only: all changes are under `specs/`. There are no implementation, API, or on-disk encoding changes in this PR. The target is explicitly unimplemented and does not require compatibility with the current format. Its persistent profile remains open until the hash/proof encoding, metadata encoding, and related conformance vectors are defined.
   
   Local validation passed: `cargo x lint`, `cargo x check`, `cargo x test` (26 existing tests), `cargo x licenses`, and `git diff --check`. These checks validate the unchanged implementation and repository hygiene; the target's performance bounds are design obligations, not benchmark results or implementation conformance claims.
   


-- 
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: commits-unsubscribe@opendal.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] docs: specify transactional filesystem publication modes [opendal-yinyang]

Posted by "Xuanwo (via GitHub)" <gi...@apache.org>.
Xuanwo merged PR #47:
URL: https://github.com/apache/opendal-yinyang/pull/47


-- 
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: commits-unsubscribe@opendal.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org