[
https://issues.apache.org/jira/browse/HDDS-14938?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sreeja updated HDDS-14938:
--------------------------
Description:
This change introduces support for configuring Iceberg's *RewriteTablePath
action* that accepts location prefixes i.e the source prefix path and target
prefix, it also accepts the start and end version defining the rage of rewrite.
h3. *Key Features*
* *Prefix Rewrite Configuration*
*
** Allows specifying:
*
**
*** {{sourcePrefix}} (existing path prefix)
*
**
*** {{targetPrefix}} (replacement prefix)
*
** Ensures source and target prefixes are non-empty and not identical.
* *Version Range Support*
*
** Optional {{startVersion}} and {{endVersion}} inputs.
*
** Validates that provided version names exist in table metadata logs.
*
** Defaults:
*
**
*** {{endVersion}} → current metadata version if not provided
*
**
*** {{startVersion}} → optional (if not set, rewrite applies up to end version)
* *Staging Location Handling*
*
** Supports user-defined staging directory.
*
** If not provided, automatically generates a staging path using:
*
**
*** table metadata location
*
**
*** random UUID
*
** Ensures proper path formatting (trailing separator handling).
* *Metadata Validation*
*
** Ensures:
*
**
*** version exists in metadata log (current or previous files)
*
**
*** version file physically exists
*
** Matches versions using filename comparison.
was:
This change introduces support for configuring Iceberg's *RewriteTablePath
action* that updates location prefixes across table metadata files within a
specified version range.
h3. *Key Features*
* *Prefix Rewrite Configuration*
** Allows specifying:
*** {{sourcePrefix}} (existing path prefix)
*** {{targetPrefix}} (replacement prefix)
** Ensures source and target prefixes are non-empty and not identical.
* *Version Range Support*
** Optional {{startVersion}} and {{endVersion}} inputs.
** Validates that provided version names exist in table metadata logs.
** Defaults:
*** {{endVersion}} → current metadata version if not provided
*** {{startVersion}} → optional (if not set, rewrite applies up to end version)
* *Staging Location Handling*
** Supports user-defined staging directory.
** If not provided, automatically generates a staging path using:
*** table metadata location
*** random UUID
** Ensures proper path formatting (trailing separator handling).
* *Metadata Validation*
** Ensures:
*** version exists in metadata log (current or previous files)
*** version file physically exists
** Matches versions using filename comparison.
> Implement RewriteTablePath action and validate inputs provided
> --------------------------------------------------------------
>
> Key: HDDS-14938
> URL: https://issues.apache.org/jira/browse/HDDS-14938
> Project: Apache Ozone
> Issue Type: Sub-task
> Reporter: Sreeja
> Assignee: Sreeja
> Priority: Major
>
> This change introduces support for configuring Iceberg's *RewriteTablePath
> action* that accepts location prefixes i.e the source prefix path and target
> prefix, it also accepts the start and end version defining the rage of
> rewrite.
> h3. *Key Features*
> * *Prefix Rewrite Configuration*
> *
> ** Allows specifying:
> *
> **
> *** {{sourcePrefix}} (existing path prefix)
> *
> **
> *** {{targetPrefix}} (replacement prefix)
> *
> ** Ensures source and target prefixes are non-empty and not identical.
> * *Version Range Support*
> *
> ** Optional {{startVersion}} and {{endVersion}} inputs.
> *
> ** Validates that provided version names exist in table metadata logs.
> *
> ** Defaults:
> *
> **
> *** {{endVersion}} → current metadata version if not provided
> *
> **
> *** {{startVersion}} → optional (if not set, rewrite applies up to end
> version)
> * *Staging Location Handling*
> *
> ** Supports user-defined staging directory.
> *
> ** If not provided, automatically generates a staging path using:
> *
> **
> *** table metadata location
> *
> **
> *** random UUID
> *
> ** Ensures proper path formatting (trailing separator handling).
> * *Metadata Validation*
> *
> ** Ensures:
> *
> **
> *** version exists in metadata log (current or previous files)
> *
> **
> *** version file physically exists
> *
> ** Matches versions using filename comparison.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]