[feat][iceberg] Support Iceberg Meta Procedure implementations#56257
[feat][iceberg] Support Iceberg Meta Procedure implementations#56257morningman merged 15 commits intoapache:masterfrom
Conversation
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
|
run buildall |
FE UT Coverage ReportIncrement line coverage |
|
run performance |
|
run p0 |
FE Regression Coverage ReportIncrement line coverage |
|
run performance |
|
run p0 |
...rc/main/java/org/apache/doris/datasource/iceberg/action/IcebergCherrypickSnapshotAction.java
Outdated
Show resolved
Hide resolved
...-core/src/main/java/org/apache/doris/datasource/iceberg/action/IcebergFastForwardAction.java
Outdated
Show resolved
Hide resolved
...rc/main/java/org/apache/doris/datasource/iceberg/action/IcebergRollbackToSnapshotAction.java
Outdated
Show resolved
Hide resolved
...c/main/java/org/apache/doris/datasource/iceberg/action/IcebergRollbackToTimestampAction.java
Outdated
Show resolved
Hide resolved
FE Regression Coverage ReportIncrement line coverage |
|
run buildall |
TPC-H: Total hot run time: 1487 ms |
FE UT Coverage ReportIncrement line coverage |
|
run p0 |
|
run cloud_p0 |
|
run performance |
TPC-H: Total hot run time: 1512 ms |
TPC-DS: Total hot run time: 2757 ms |
ClickBench: Total hot run time: 0.06 s |
|
run external |
|
PR approved by anyone and no changes requested. |
...rc/main/java/org/apache/doris/datasource/iceberg/action/IcebergCherrypickSnapshotAction.java
Show resolved
Hide resolved
| @@ -34,6 +43,7 @@ | |||
| * at a specific timestamp. | |||
| */ | |||
| public class IcebergRollbackToTimestampAction extends BaseIcebergAction { | |||
| private static final DateTimeFormatter DATETIME_MS_FORMAT = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS"); | |||
There was a problem hiding this comment.
must with millionsecond?
|
PR approved by at least one committer and no changes requested. |
### What problem does this PR solve? This PR extends the OPTIMIZE TABLE framework introduced in #55679 by implementing additional Iceberg meta procedure actions. Building upon the foundation established for Iceberg table optimization, this enhancement adds critical snapshot management operations that enable more sophisticated Iceberg table maintenance workflows. #### New Iceberg Actions Implemented This PR introduces **5 new Iceberg meta procedure actions**: 1. **`cherrypick_snapshot`** - Cherry-picks changes from a specific snapshot 2. **`fast_forward`** - Fast-forwards one branch to match another branch's latest snapshot 3. **`rollback_to_snapshot`** - Rolls back table to a specific snapshot 4. **`rollback_to_timestamp`** - Rolls back table to a specific timestamp 5. **`set_current_snapshot`** - Sets a specific snapshot as current #### Example Usage ```sql -- Cherry-pick changes from a snapshot OPTIMIZE TABLE iceberg_catalog.db.table PROPERTIES("action" = "cherrypick_snapshot", "snapshot_id" = "123456789"); ``` ``` -- Fast-forward branch to match another branch OPTIMIZE TABLE iceberg_catalog.db.table PROPERTIES("action" = "fast_forward", "branch" = "feature", "to" = "main"); ``` ``` -- Rollback to specific snapshot OPTIMIZE TABLE iceberg_catalog.db.table PROPERTIES("action" = "rollback_to_snapshot", "snapshot_id" = "987654321"); ``` The regression testing strategy utilizes internal Iceberg catalog operations for table creation, data insertion, and branch/tag management, ensuring test stability and eliminating dependencies on external tools like Spark SQL for test data preparation.
What problem does this PR solve?
This PR extends the OPTIMIZE TABLE framework introduced in #55679 by implementing additional Iceberg meta procedure actions. Building upon the foundation established for Iceberg
table optimization, this enhancement adds critical snapshot management operations that enable more sophisticated Iceberg table maintenance workflows.
New Iceberg Actions Implemented
This PR introduces 5 new Iceberg meta procedure actions:
cherrypick_snapshot- Cherry-picks changes from a specific snapshotfast_forward- Fast-forwards one branch to match another branch's latest snapshotrollback_to_snapshot- Rolls back table to a specific snapshotrollback_to_timestamp- Rolls back table to a specific timestampset_current_snapshot- Sets a specific snapshot as currentExample Usage
The regression testing strategy utilizes internal Iceberg catalog operations for table creation, data insertion, and branch/tag management, ensuring test stability and eliminating
dependencies on external tools like Spark SQL for test data preparation.
Issue Number: close #xxx
Related PR: #xxx
Problem Summary:
Release note
None
Check List (For Author)
Test
Behavior changed:
Does this need documentation?
Check List (For Reviewer who merge this PR)