symious opened a new pull request, #10845:
URL: https://github.com/apache/ozone/pull/10845

   ## What changes were proposed in this pull request?
   
   First 6 commits belong to HDDS-15879, can ignore them.
   
   <p>This ticket includes the follows tasks:</p>
   <div class="table-wrap">
   
   Sub-task | Scope | Acceptance
   -- | -- | --
   T2.1 interface + default generator | `VersionIdGenerator` interface; 
`TransactionIndexVersionIdGenerator`; the 
`ozone.om.versioning.version-id-generator` class-name config, loaded 
reflectively | shared contract test (strictly increasing / frozen / reserved 
ids) run against every generator; unknown class and class not implementing the 
interface both rejected; default generator carries no allocator state
   T2.2 commit-time ordering check | `VersionIdAllocator`: refuse a commit 
whose id does not come after the key's current version; fall back to a 
versionedKeyTable lookup for records predating versioning | increasing id 
accepted; id at or below the current one rejected with `INVALID_REQUEST`; taken 
id on a pre-versioning record rejected with `KEY_ALREADY_EXISTS`; steady state 
performs no lookup (unit test asserts versionedKeyTable is never touched)
   T2.3 pinned-first generator | `PinnedFirstVersionIdGenerator`: first-version 
detection (no current in keyTable) + `FIRST_VERSION_ID = 1` sentinel | first 
PUT gets the sentinel, later PUTs get transaction indexes; sentinel sorts 
before every transaction index; sentinel does not collide with the null slot; 
selectable by configuration
   
   ## What is the link to the Apache JIRA
   
   https://issues.apache.org/jira/browse/HDDS-15946
   
   ## How was this patch tested?
   
   Unit test
   


-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to