Repository navigation
HDDS-15099. [Docs] Implementation of Write Operations - #579
Merged
Merged
Conversation
Contributor
Author
|
@jojochuang , @chungen0126 Here’s the doc for "Implementation of Write Operations". I’d appreciate your review whenever you have time. Thank you! |
jojochuang
approved these changes
Oct 19, 2026
jojochuang
left a comment
Contributor
There was a problem hiding this comment.
LGTM — clear reservation → data transfer → commit story, HA preExecute vs validateAndUpdateCache split, quota check/charge, Ratis vs EC, and open-key cleanup. Nice upgrade from the old draft.
Optional follow-ups (non-blocking):
- ACL types per RPC — Document explicitly:
CreateKey→ CREATE (resolveBucketAndCheckKeyAcls);AllocateBlockandCommitKey→ WRITE on the open key + client id (resolveBucketAndCheckOpenKeyAcls). - Authorizer — One line that policy checks go through the configured OM authorizer (Native ACLs or Ranger), not only the internal
OzoneAclUtilsvolume/bucket rules. - Leader preExecute ordering — Note that SCM block allocation (and tokens) on the leader can run before ACL in
preExecute; deterministic validation is invalidateAndUpdateCacheon all OMs. - Zero-length keys — If
dataSizeis unset or ≤ 0, create skips SCM block allocation. - Open-key cleanup — Besides
ozone.om.open.key.expire.threshold(default7d), mention lease/hsync handling (leaseThresholdinOpenKeyCleanupService), not creation time alone. - Quota nuance — FSO may increment namespace for missing parent directories at create; byte charge for the key still aligns with commit (already mostly covered).
- Summary table — Phase 1 could footnote FSO (
openFileTable/fileTable) vs OBS/LEGACY table names. - Cross-link — Link EC section to Erasure Coding.
- Scope — Short paragraph: multipart upload, S3 Gateway (same OM RPCs), Ratis streaming, and pipeline failover/exclude lists are out of scope or defer to other pages.
- HSync — When
04-hsync.mdis completed, link from the “invisible until commit” discussion. - Nit — Formatting: space before
(default 7d)on the open-key threshold property.
Happy to help on a small follow-up doc PR if useful.
Contributor
|
Merged. Thanks @cychiu8 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes were proposed in this pull request?
Provide the document for every part of a write request from beginning to end.
What is the link to the Apache Jira?
https://issues.apache.org/jira/browse/HDDS-15099
How was this patch tested?
Reviewed the rendered page in the local preview.
CI passed: https://github.com/cychiu8/ozone-site/actions/runs/39021800409