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

Reply via email to