This is an automated email from the ASF dual-hosted git repository.
jinsongzhou pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/amoro.git
The following commit(s) were added to refs/heads/master by this push:
new 706630055 [AMORO-2555] Tag dangling delete snapshot commits (#3058)
706630055 is described below
commit 70663005576d87f0c3d19903a6962477029ea1a0
Author: Xavier Bai <[email protected]>
AuthorDate: Wed Aug 7 20:08:09 2024 +0800
[AMORO-2555] Tag dangling delete snapshot commits (#3058)
* Tag dangling delete snapshot commits
* make maintain commits public
* Re-gen table metastore java code via thrift
---
.../optimizing/maintainer/IcebergTableMaintainer.java | 14 ++++++++++----
.../org/apache/amoro/api/AlreadyExistsException.java | 2 +-
.../main/gen-java/org/apache/amoro/api/AmoroException.java | 2 +-
.../gen-java/org/apache/amoro/api/AmoroTableMetastore.java | 2 +-
.../gen-java/org/apache/amoro/api/BlockableOperation.java | 2 +-
.../src/main/gen-java/org/apache/amoro/api/Blocker.java | 2 +-
.../main/gen-java/org/apache/amoro/api/CatalogMeta.java | 2 +-
.../src/main/gen-java/org/apache/amoro/api/ColumnInfo.java | 2 +-
.../gen-java/org/apache/amoro/api/CommitMetaProducer.java | 7 +++++--
.../src/main/gen-java/org/apache/amoro/api/DataFile.java | 2 +-
.../org/apache/amoro/api/InvalidObjectException.java | 2 +-
.../main/gen-java/org/apache/amoro/api/MetaException.java | 2 +-
.../org/apache/amoro/api/NoSuchObjectException.java | 2 +-
.../org/apache/amoro/api/NotSupportedException.java | 2 +-
.../org/apache/amoro/api/OperationConflictException.java | 2 +-
.../gen-java/org/apache/amoro/api/PartitionFieldData.java | 2 +-
.../main/gen-java/org/apache/amoro/api/PrimaryKeySpec.java | 2 +-
.../src/main/gen-java/org/apache/amoro/api/Schema.java | 2 +-
.../gen-java/org/apache/amoro/api/SchemaUpdateMeta.java | 2 +-
.../main/gen-java/org/apache/amoro/api/TableChange.java | 2 +-
.../gen-java/org/apache/amoro/api/TableCommitMeta.java | 2 +-
.../gen-java/org/apache/amoro/api/TableIdentifier.java | 2 +-
.../src/main/gen-java/org/apache/amoro/api/TableMeta.java | 2 +-
.../main/gen-java/org/apache/amoro/api/UpdateColumn.java | 2 +-
amoro-core/src/main/thrift/amoro_table_metastore.thrift | 3 ++-
25 files changed, 39 insertions(+), 29 deletions(-)
diff --git
a/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/optimizing/maintainer/IcebergTableMaintainer.java
b/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/optimizing/maintainer/IcebergTableMaintainer.java
index 364c83045..bcc52595f 100644
---
a/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/optimizing/maintainer/IcebergTableMaintainer.java
+++
b/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/optimizing/maintainer/IcebergTableMaintainer.java
@@ -103,6 +103,12 @@ public class IcebergTableMaintainer implements
TableMaintainer {
public static final String EXPIRE_TIMESTAMP_MS = "TIMESTAMP_MS";
public static final String EXPIRE_TIMESTAMP_S = "TIMESTAMP_S";
+ public static final Set<String> AMORO_MAINTAIN_COMMITS =
+ Sets.newHashSet(
+ CommitMetaProducer.OPTIMIZE.name(),
+ CommitMetaProducer.DATA_EXPIRATION.name(),
+ CommitMetaProducer.CLEAN_DANGLING_DELETE.name());
+
protected Table table;
public IcebergTableMaintainer(Table table) {
@@ -435,6 +441,9 @@ public class IcebergTableMaintainer implements
TableMaintainer {
Collections.emptySet(),
Collections.emptySet());
try {
+ rewriteFiles.set(
+ org.apache.amoro.op.SnapshotSummary.SNAPSHOT_PRODUCER,
+ CommitMetaProducer.CLEAN_DANGLING_DELETE.name());
rewriteFiles.commit();
} catch (ValidationException e) {
LOG.warn("Iceberg RewriteFiles commit failed on clear
danglingDeleteFiles, but ignore", e);
@@ -498,10 +507,7 @@ public class IcebergTableMaintainer implements
TableMaintainer {
public static long fetchLatestNonOptimizedSnapshotTime(Table table) {
Optional<Snapshot> snapshot =
IcebergTableUtil.findFirstMatchSnapshot(
- table,
- s ->
- !s.summary().containsValue(CommitMetaProducer.OPTIMIZE.name())
- &&
!s.summary().containsValue(CommitMetaProducer.DATA_EXPIRATION.name()));
+ table, s ->
s.summary().values().stream().noneMatch(AMORO_MAINTAIN_COMMITS::contains));
return snapshot.map(Snapshot::timestampMillis).orElse(Long.MAX_VALUE);
}
diff --git
a/amoro-core/src/main/gen-java/org/apache/amoro/api/AlreadyExistsException.java
b/amoro-core/src/main/gen-java/org/apache/amoro/api/AlreadyExistsException.java
index f1c06ef41..befa88c12 100644
---
a/amoro-core/src/main/gen-java/org/apache/amoro/api/AlreadyExistsException.java
+++
b/amoro-core/src/main/gen-java/org/apache/amoro/api/AlreadyExistsException.java
@@ -12,7 +12,7 @@ package org.apache.amoro.api;
*
*/
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-06-11")
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-08-02")
public class AlreadyExistsException extends
org.apache.amoro.shade.thrift.org.apache.thrift.TException implements
org.apache.amoro.shade.thrift.org.apache.thrift.TBase<AlreadyExistsException,
AlreadyExistsException._Fields>, java.io.Serializable, Cloneable,
Comparable<AlreadyExistsException> {
private static final
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC =
new
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("AlreadyExistsException");
diff --git
a/amoro-core/src/main/gen-java/org/apache/amoro/api/AmoroException.java
b/amoro-core/src/main/gen-java/org/apache/amoro/api/AmoroException.java
index 5be6d39e6..4883cbd7e 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/AmoroException.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/AmoroException.java
@@ -7,7 +7,7 @@
package org.apache.amoro.api;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-06-11")
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-08-02")
public class AmoroException extends
org.apache.amoro.shade.thrift.org.apache.thrift.TException implements
org.apache.amoro.shade.thrift.org.apache.thrift.TBase<AmoroException,
AmoroException._Fields>, java.io.Serializable, Cloneable,
Comparable<AmoroException> {
private static final
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC =
new
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("AmoroException");
diff --git
a/amoro-core/src/main/gen-java/org/apache/amoro/api/AmoroTableMetastore.java
b/amoro-core/src/main/gen-java/org/apache/amoro/api/AmoroTableMetastore.java
index 4db52edfe..8f07e1a16 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/AmoroTableMetastore.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/AmoroTableMetastore.java
@@ -6,7 +6,7 @@
*/
package org.apache.amoro.api;
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-06-11")
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-08-02")
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
public class AmoroTableMetastore {
diff --git
a/amoro-core/src/main/gen-java/org/apache/amoro/api/BlockableOperation.java
b/amoro-core/src/main/gen-java/org/apache/amoro/api/BlockableOperation.java
index 30a423943..9a5ae15f5 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/BlockableOperation.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/BlockableOperation.java
@@ -7,7 +7,7 @@
package org.apache.amoro.api;
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-06-11")
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-08-02")
public enum BlockableOperation implements
org.apache.amoro.shade.thrift.org.apache.thrift.TEnum {
OPTIMIZE(0),
BATCH_WRITE(1);
diff --git a/amoro-core/src/main/gen-java/org/apache/amoro/api/Blocker.java
b/amoro-core/src/main/gen-java/org/apache/amoro/api/Blocker.java
index e59477a87..a09381c17 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/Blocker.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/Blocker.java
@@ -7,7 +7,7 @@
package org.apache.amoro.api;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-06-11")
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-08-02")
public class Blocker implements
org.apache.amoro.shade.thrift.org.apache.thrift.TBase<Blocker,
Blocker._Fields>, java.io.Serializable, Cloneable, Comparable<Blocker> {
private static final
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC =
new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("Blocker");
diff --git a/amoro-core/src/main/gen-java/org/apache/amoro/api/CatalogMeta.java
b/amoro-core/src/main/gen-java/org/apache/amoro/api/CatalogMeta.java
index 85082c77b..62d24956f 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/CatalogMeta.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/CatalogMeta.java
@@ -7,7 +7,7 @@
package org.apache.amoro.api;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-06-11")
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-08-02")
public class CatalogMeta implements
org.apache.amoro.shade.thrift.org.apache.thrift.TBase<CatalogMeta,
CatalogMeta._Fields>, java.io.Serializable, Cloneable, Comparable<CatalogMeta> {
private static final
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC =
new
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("CatalogMeta");
diff --git a/amoro-core/src/main/gen-java/org/apache/amoro/api/ColumnInfo.java
b/amoro-core/src/main/gen-java/org/apache/amoro/api/ColumnInfo.java
index c7f116688..c161a9c09 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/ColumnInfo.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/ColumnInfo.java
@@ -7,7 +7,7 @@
package org.apache.amoro.api;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-06-11")
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-08-02")
public class ColumnInfo implements
org.apache.amoro.shade.thrift.org.apache.thrift.TBase<ColumnInfo,
ColumnInfo._Fields>, java.io.Serializable, Cloneable, Comparable<ColumnInfo> {
private static final
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC =
new
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("ColumnInfo");
diff --git
a/amoro-core/src/main/gen-java/org/apache/amoro/api/CommitMetaProducer.java
b/amoro-core/src/main/gen-java/org/apache/amoro/api/CommitMetaProducer.java
index 232ff6022..d105c5662 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/CommitMetaProducer.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/CommitMetaProducer.java
@@ -7,11 +7,12 @@
package org.apache.amoro.api;
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-06-11")
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-08-02")
public enum CommitMetaProducer implements
org.apache.amoro.shade.thrift.org.apache.thrift.TEnum {
OPTIMIZE(0),
INGESTION(1),
- DATA_EXPIRATION(2);
+ DATA_EXPIRATION(2),
+ CLEAN_DANGLING_DELETE(3);
private final int value;
@@ -40,6 +41,8 @@ public enum CommitMetaProducer implements
org.apache.amoro.shade.thrift.org.apac
return INGESTION;
case 2:
return DATA_EXPIRATION;
+ case 3:
+ return CLEAN_DANGLING_DELETE;
default:
return null;
}
diff --git a/amoro-core/src/main/gen-java/org/apache/amoro/api/DataFile.java
b/amoro-core/src/main/gen-java/org/apache/amoro/api/DataFile.java
index a2be92dcb..21f7c38be 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/DataFile.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/DataFile.java
@@ -7,7 +7,7 @@
package org.apache.amoro.api;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-06-11")
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-08-02")
public class DataFile implements
org.apache.amoro.shade.thrift.org.apache.thrift.TBase<DataFile,
DataFile._Fields>, java.io.Serializable, Cloneable, Comparable<DataFile> {
private static final
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC =
new
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("DataFile");
diff --git
a/amoro-core/src/main/gen-java/org/apache/amoro/api/InvalidObjectException.java
b/amoro-core/src/main/gen-java/org/apache/amoro/api/InvalidObjectException.java
index 8e4bbb14a..3f28dc51d 100644
---
a/amoro-core/src/main/gen-java/org/apache/amoro/api/InvalidObjectException.java
+++
b/amoro-core/src/main/gen-java/org/apache/amoro/api/InvalidObjectException.java
@@ -7,7 +7,7 @@
package org.apache.amoro.api;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-06-11")
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-08-02")
public class InvalidObjectException extends
org.apache.amoro.shade.thrift.org.apache.thrift.TException implements
org.apache.amoro.shade.thrift.org.apache.thrift.TBase<InvalidObjectException,
InvalidObjectException._Fields>, java.io.Serializable, Cloneable,
Comparable<InvalidObjectException> {
private static final
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC =
new
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("InvalidObjectException");
diff --git
a/amoro-core/src/main/gen-java/org/apache/amoro/api/MetaException.java
b/amoro-core/src/main/gen-java/org/apache/amoro/api/MetaException.java
index 0c320f0df..458c53e07 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/MetaException.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/MetaException.java
@@ -7,7 +7,7 @@
package org.apache.amoro.api;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-06-11")
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-08-02")
public class MetaException extends
org.apache.amoro.shade.thrift.org.apache.thrift.TException implements
org.apache.amoro.shade.thrift.org.apache.thrift.TBase<MetaException,
MetaException._Fields>, java.io.Serializable, Cloneable,
Comparable<MetaException> {
private static final
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC =
new
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("MetaException");
diff --git
a/amoro-core/src/main/gen-java/org/apache/amoro/api/NoSuchObjectException.java
b/amoro-core/src/main/gen-java/org/apache/amoro/api/NoSuchObjectException.java
index c9efb6cfa..083be5b97 100644
---
a/amoro-core/src/main/gen-java/org/apache/amoro/api/NoSuchObjectException.java
+++
b/amoro-core/src/main/gen-java/org/apache/amoro/api/NoSuchObjectException.java
@@ -7,7 +7,7 @@
package org.apache.amoro.api;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-06-11")
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-08-02")
public class NoSuchObjectException extends
org.apache.amoro.shade.thrift.org.apache.thrift.TException implements
org.apache.amoro.shade.thrift.org.apache.thrift.TBase<NoSuchObjectException,
NoSuchObjectException._Fields>, java.io.Serializable, Cloneable,
Comparable<NoSuchObjectException> {
private static final
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC =
new
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("NoSuchObjectException");
diff --git
a/amoro-core/src/main/gen-java/org/apache/amoro/api/NotSupportedException.java
b/amoro-core/src/main/gen-java/org/apache/amoro/api/NotSupportedException.java
index deff0b34e..fe30774a3 100644
---
a/amoro-core/src/main/gen-java/org/apache/amoro/api/NotSupportedException.java
+++
b/amoro-core/src/main/gen-java/org/apache/amoro/api/NotSupportedException.java
@@ -7,7 +7,7 @@
package org.apache.amoro.api;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-06-11")
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-08-02")
public class NotSupportedException extends
org.apache.amoro.shade.thrift.org.apache.thrift.TException implements
org.apache.amoro.shade.thrift.org.apache.thrift.TBase<NotSupportedException,
NotSupportedException._Fields>, java.io.Serializable, Cloneable,
Comparable<NotSupportedException> {
private static final
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC =
new
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("NotSupportedException");
diff --git
a/amoro-core/src/main/gen-java/org/apache/amoro/api/OperationConflictException.java
b/amoro-core/src/main/gen-java/org/apache/amoro/api/OperationConflictException.java
index 021618e46..f13d5f6d8 100644
---
a/amoro-core/src/main/gen-java/org/apache/amoro/api/OperationConflictException.java
+++
b/amoro-core/src/main/gen-java/org/apache/amoro/api/OperationConflictException.java
@@ -7,7 +7,7 @@
package org.apache.amoro.api;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-06-11")
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-08-02")
public class OperationConflictException extends
org.apache.amoro.shade.thrift.org.apache.thrift.TException implements
org.apache.amoro.shade.thrift.org.apache.thrift.TBase<OperationConflictException,
OperationConflictException._Fields>, java.io.Serializable, Cloneable,
Comparable<OperationConflictException> {
private static final
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC =
new
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("OperationConflictException");
diff --git
a/amoro-core/src/main/gen-java/org/apache/amoro/api/PartitionFieldData.java
b/amoro-core/src/main/gen-java/org/apache/amoro/api/PartitionFieldData.java
index 43a06dfe8..59dc16fc8 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/PartitionFieldData.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/PartitionFieldData.java
@@ -7,7 +7,7 @@
package org.apache.amoro.api;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-06-11")
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-08-02")
public class PartitionFieldData implements
org.apache.amoro.shade.thrift.org.apache.thrift.TBase<PartitionFieldData,
PartitionFieldData._Fields>, java.io.Serializable, Cloneable,
Comparable<PartitionFieldData> {
private static final
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC =
new
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("PartitionFieldData");
diff --git
a/amoro-core/src/main/gen-java/org/apache/amoro/api/PrimaryKeySpec.java
b/amoro-core/src/main/gen-java/org/apache/amoro/api/PrimaryKeySpec.java
index d4a4b90bb..792a27fb5 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/PrimaryKeySpec.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/PrimaryKeySpec.java
@@ -7,7 +7,7 @@
package org.apache.amoro.api;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-06-11")
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-08-02")
public class PrimaryKeySpec implements
org.apache.amoro.shade.thrift.org.apache.thrift.TBase<PrimaryKeySpec,
PrimaryKeySpec._Fields>, java.io.Serializable, Cloneable,
Comparable<PrimaryKeySpec> {
private static final
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC =
new
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("PrimaryKeySpec");
diff --git a/amoro-core/src/main/gen-java/org/apache/amoro/api/Schema.java
b/amoro-core/src/main/gen-java/org/apache/amoro/api/Schema.java
index 616a5a746..a5507285c 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/Schema.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/Schema.java
@@ -7,7 +7,7 @@
package org.apache.amoro.api;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-06-11")
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-08-02")
public class Schema implements
org.apache.amoro.shade.thrift.org.apache.thrift.TBase<Schema, Schema._Fields>,
java.io.Serializable, Cloneable, Comparable<Schema> {
private static final
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC =
new org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("Schema");
diff --git
a/amoro-core/src/main/gen-java/org/apache/amoro/api/SchemaUpdateMeta.java
b/amoro-core/src/main/gen-java/org/apache/amoro/api/SchemaUpdateMeta.java
index cd81f53c9..32cba43b0 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/SchemaUpdateMeta.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/SchemaUpdateMeta.java
@@ -7,7 +7,7 @@
package org.apache.amoro.api;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-06-11")
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-08-02")
public class SchemaUpdateMeta implements
org.apache.amoro.shade.thrift.org.apache.thrift.TBase<SchemaUpdateMeta,
SchemaUpdateMeta._Fields>, java.io.Serializable, Cloneable,
Comparable<SchemaUpdateMeta> {
private static final
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC =
new
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("SchemaUpdateMeta");
diff --git a/amoro-core/src/main/gen-java/org/apache/amoro/api/TableChange.java
b/amoro-core/src/main/gen-java/org/apache/amoro/api/TableChange.java
index a89d5c738..fbcee202a 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/TableChange.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/TableChange.java
@@ -7,7 +7,7 @@
package org.apache.amoro.api;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-06-11")
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-08-02")
public class TableChange implements
org.apache.amoro.shade.thrift.org.apache.thrift.TBase<TableChange,
TableChange._Fields>, java.io.Serializable, Cloneable, Comparable<TableChange> {
private static final
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC =
new
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("TableChange");
diff --git
a/amoro-core/src/main/gen-java/org/apache/amoro/api/TableCommitMeta.java
b/amoro-core/src/main/gen-java/org/apache/amoro/api/TableCommitMeta.java
index d9c105736..e5f896bcb 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/TableCommitMeta.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/TableCommitMeta.java
@@ -7,7 +7,7 @@
package org.apache.amoro.api;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-06-11")
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-08-02")
public class TableCommitMeta implements
org.apache.amoro.shade.thrift.org.apache.thrift.TBase<TableCommitMeta,
TableCommitMeta._Fields>, java.io.Serializable, Cloneable,
Comparable<TableCommitMeta> {
private static final
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC =
new
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("TableCommitMeta");
diff --git
a/amoro-core/src/main/gen-java/org/apache/amoro/api/TableIdentifier.java
b/amoro-core/src/main/gen-java/org/apache/amoro/api/TableIdentifier.java
index f6cfb44bf..f9bd2dc51 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/TableIdentifier.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/TableIdentifier.java
@@ -7,7 +7,7 @@
package org.apache.amoro.api;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-06-11")
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-08-02")
public class TableIdentifier implements
org.apache.amoro.shade.thrift.org.apache.thrift.TBase<TableIdentifier,
TableIdentifier._Fields>, java.io.Serializable, Cloneable,
Comparable<TableIdentifier> {
private static final
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC =
new
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("TableIdentifier");
diff --git a/amoro-core/src/main/gen-java/org/apache/amoro/api/TableMeta.java
b/amoro-core/src/main/gen-java/org/apache/amoro/api/TableMeta.java
index 71cdb5cc6..dc4570107 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/TableMeta.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/TableMeta.java
@@ -7,7 +7,7 @@
package org.apache.amoro.api;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-06-11")
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-08-02")
public class TableMeta implements
org.apache.amoro.shade.thrift.org.apache.thrift.TBase<TableMeta,
TableMeta._Fields>, java.io.Serializable, Cloneable, Comparable<TableMeta> {
private static final
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC =
new
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("TableMeta");
diff --git
a/amoro-core/src/main/gen-java/org/apache/amoro/api/UpdateColumn.java
b/amoro-core/src/main/gen-java/org/apache/amoro/api/UpdateColumn.java
index f9b068dbe..08d86cba4 100644
--- a/amoro-core/src/main/gen-java/org/apache/amoro/api/UpdateColumn.java
+++ b/amoro-core/src/main/gen-java/org/apache/amoro/api/UpdateColumn.java
@@ -7,7 +7,7 @@
package org.apache.amoro.api;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-06-11")
[email protected](value = "Autogenerated by Thrift Compiler
(0.20.0)", date = "2024-08-02")
public class UpdateColumn implements
org.apache.amoro.shade.thrift.org.apache.thrift.TBase<UpdateColumn,
UpdateColumn._Fields>, java.io.Serializable, Cloneable,
Comparable<UpdateColumn> {
private static final
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct STRUCT_DESC =
new
org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TStruct("UpdateColumn");
diff --git a/amoro-core/src/main/thrift/amoro_table_metastore.thrift
b/amoro-core/src/main/thrift/amoro_table_metastore.thrift
index bdf18722b..c6654984d 100644
--- a/amoro-core/src/main/thrift/amoro_table_metastore.thrift
+++ b/amoro-core/src/main/thrift/amoro_table_metastore.thrift
@@ -99,7 +99,8 @@ struct PrimaryKeySpec {
enum CommitMetaProducer {
OPTIMIZE,
INGESTION,
- DATA_EXPIRATION
+ DATA_EXPIRATION,
+ CLEAN_DANGLING_DELETE
}
struct Blocker {