[
https://issues.apache.org/jira/browse/HDDS-15946?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated HDDS-15946:
----------------------------------
Labels: pull-request-available (was: )
> [Ozone versioning] [T2] VersionId generation strategy framework
> ---------------------------------------------------------------
>
> Key: HDDS-15946
> URL: https://issues.apache.org/jira/browse/HDDS-15946
> Project: Apache Ozone
> Issue Type: Sub-task
> Reporter: Janus Chow
> Assignee: Janus Chow
> Priority: Major
> Labels: pull-request-available
>
> This ticket includes the follows tasks:
> |*Sub-task*|*Scope*|*Acceptance*|
> |T2.1 interface + default generator|UniqueIdVersionIdGenerator; interface is
> no-arg generateVersionId() plus a default versionIdFor(proposed,
> hasCurrentVersion)|shared contract test (strictly increasing) 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 floor|VersionIdAllocator.propose() for preExecute,
> allocate() applying the max floor.|a backwards clock does not reorder a key;
> a repeated proposal still moves the key forward; versionedKeyTable is never
> read|
> |T2.3 PINNED_FIRST generator|first-version detection (no current in keyTable)
> + FIRST_VERSION_ID 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|
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]