Attenders: Yiyang, Hui, Chung en, Sammi, Peter, Wei-ChiuKey Achievements
This meeting covered three core topics: Version Control (Versioning) design
updates, Object Lock/Locking feature design review, and discussion of
Snapshot and Fork features.
------------------------------
Version Control Design Progress

   - Completed four revisions: supplemented OEP description with diagrams,
   replaced Version Cleanup Service with App Lifecycle, added layout
   explanations for Snapshot and Version, changed Version ID to
   timestamp-based generation (referencing Microsoft and Google solutions)
   - Currently have approximately 7 subtasks, pushed multiple commits this
   week (squash merged after internal review)
   - Sammi plans to organize an internal design review in two weeks,
   inviting team colleagues to participate and gather more feedback
   - Rationale for keeping two tables: most users use regular buckets,
   versioned bucket users are fewer; separate tables avoid tombstone impact
   from version table affecting regular query performance

------------------------------
Object Locking Design Review

   - Locking process adopts double-check: Pre-check for quick filtering,
   reconfirmation at Commit to ensure linearizability
   - Locking can be set at two points: specified directly when uploading
   objects, or set via separate API after upload
   -

   Things to Clarify:
   - In Compliance Mode, S3 documentation states account deletion is
      required to delete objects, how this map to Ozone case, corresponding
      behavior needs clarification
      - Two APIs (Enable Lock / Set Retention Config) called separately may
      lead to incomplete state, suggest merging into a single API
      - After Lock Enable, Versioning also cannot be disabled; this binding
      behavior needs to be clearly documented
      - Default behavior when Retention Config is not set needs
      confirmation
   -

   Permission Control:
   - Existing Ranger plugin has not yet refined to Lock-related permission
      granularity, can reference Lifecycle mapping approach (map to
Bucket Write
      permission)
      - Permission control method for enabling/suspending Versioning also
      needs clarification (Native ACL vs Ranger)
   -

   Interaction with Lifecycle:
   - If objects are locked, Lifecycle needs to check lock status when
      cleaning old versions; when all versions are locked (e.g., exceeding max
      version limit), cleanup behavior definition needs to reference
S3 handling
      approach
      - Current version control design has removed max version
      configuration, now fully handled by Lifecycle

------------------------------
Snapshot and Fork Feature Discussion

   - Current Snapshot primary purpose is locking files to prevent deletion,
   does not support multi-branch or rollback
   - Fork feature use case: in AI workflows, multiple agents run parallel
   experiments based on the same dataset, requiring isolated writes and
   protection of original data
   -

   Implementation Approach Analysis:
   - Approach 1: Add additional table to handle two dimensions (multiple
      forks in same bucket, large number of changes after fork), complex
      implementation
      - Approach 2: Implement based on existing SST checkpoint mechanism,
      theoretically suitable but requires underlying changes, high difficulty
   - Merge back is feasible (sort by timeline based on globally
   incrementing ID, no need to resolve conflicts), but overall engineering
   effort is large
   - Conclusion: Not proceeding with Fork POC for now, currently lacking
   suitable underlying mechanism support

------------------------------
Other Updates

   - Ratis 3.3 Version Upgrade: In progress, encountered some logic-related
   errors, currently remaining Compliance-related issues
   - Automated Release Process: Wei-Chiu is using AI tools to build
   automated release process, completed versions 2.1.1 and 2.1.2
   - IPv6 / Multi-home Support: Currently does not fully support automatic
   switching, lacking test environment
   - Secure Ozone (without Kerberos): Discussing approach of obtaining
   Delegation Token through Mutual TLS + Knox, CA trust chain establishment
   method still under discussion

------------------------------
Action Items

   - Chung: Update locking design document, clarify behavior definitions
   (Compliance Mode deletion behavior, Lock and Versioning binding
   relationship, default Retention behavior)
   - yiyang: Complete final updates to version control design document
   - Sammi: Complete locking design document review, add comments
   - peter: Share Fork-related Jira links and POC reference materials (
   https://issues.apache.org/jira/browse/HDDS-15125)
   - Wei-Chiu: Continue refining Secure Ozone without Kerberos solution
   design

Reply via email to