You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ozone.apache.org by "Siyao Meng (Jira)" <ji...@apache.org> on 2024/01/22 04:57:00 UTC

[jira] [Updated] (HDDS-10077) Add hsync metadata to hsync'ed keys in OpenKeyTable as well

     [ https://issues.apache.org/jira/browse/HDDS-10077?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Siyao Meng updated HDDS-10077:
------------------------------
    Summary: Add hsync metadata to hsync'ed keys in OpenKeyTable as well  (was: Add hsync metadata to hsync'ed key in OpenKeyTable as well)

> Add hsync metadata to hsync'ed keys in OpenKeyTable as well
> -----------------------------------------------------------
>
>                 Key: HDDS-10077
>                 URL: https://issues.apache.org/jira/browse/HDDS-10077
>             Project: Apache Ozone
>          Issue Type: Sub-task
>            Reporter: Siyao Meng
>            Assignee: Siyao Meng
>            Priority: Major
>
> Currently, only those keys in KeyTable/FileTable would have metadata {{HSYNC_CLIENT_ID}} when those keys have been hsync'ed (and not closed yet). The problem with this is that it makes {{getExpiredOpenKeys()}} and {{listOpenKeys}} (HDDS-8830) very *inefficient* by forcing them to look up KeyTable/FileTable while they could have just used OpenKeyTable/OpenFileTable solely to determine whether an open key is hsync'ed or not.
> Proposal:
> 1. during an hsync(), persist metadata {{HSYNC_CLIENT_ID}} to {{OmKeyInfo}} in {{OpenKeyTable}} as well (in addition to {{KeyTable}}). Only write when the client ID changes so it doesn't cause write amplifications. Ideally only the first hsync() of a key would cause a write to {{OpenKeyTable}}.
> 2. during key close/commit, remove {{HSYNC_CLIENT_ID}} from {{OpenKeyTable}} if necessary so that {{HSYNC_CLIENT_ID}} isn't written to the final key.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org