This is an automated email from the ASF dual-hosted git repository.
JingsongLi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/paimon.git
The following commit(s) were added to refs/heads/master by this push:
new 62cd0fd9fd [core] Simplify ManifestFileMeta constructors and field
order
62cd0fd9fd is described below
commit 62cd0fd9fda297210a767d3006772bf7461a239d
Author: JingsongLi <[email protected]>
AuthorDate: Sun Sep 13 23:04:46 2026 +0800
[core] Simplify ManifestFileMeta constructors and field order
---
.../apache/paimon/manifest/ManifestAvroWriter.java | 4 +-
.../apache/paimon/manifest/ManifestFileMeta.java | 94 ++++------------------
.../manifest/ManifestFileMetaSerializer.java | 8 +-
.../DataEvolutionCompactCoordinatorTest.java | 8 +-
.../DataEvolutionCompactRangePlannerTest.java | 2 +
.../DataEvolutionRowIdReassignerTest.java | 4 +-
.../LegacyManifestFileMetaSerializerPaimon10.java | 2 +
.../manifest/ManifestFileMetaSerializerTest.java | 4 +-
.../paimon/manifest/ManifestFileMetaTest.java | 12 ++-
.../apache/paimon/manifest/ManifestFileTest.java | 4 +-
.../apache/paimon/manifest/ManifestListTest.java | 6 +-
.../paimon/manifest/ManifestTestDataGenerator.java | 4 +-
.../paimon/operation/BucketSelectorTest.java | 4 +-
.../paimon/operation/ExpireSnapshotsTest.java | 3 +
.../operation/LocalOrphanFilesCleanTest.java | 1 +
.../paimon/operation/ManifestFileMergerTest.java | 4 +-
16 files changed, 66 insertions(+), 98 deletions(-)
diff --git
a/paimon-core/src/main/java/org/apache/paimon/manifest/ManifestAvroWriter.java
b/paimon-core/src/main/java/org/apache/paimon/manifest/ManifestAvroWriter.java
index c0eb377b79..4dabe54f3f 100644
---
a/paimon-core/src/main/java/org/apache/paimon/manifest/ManifestAvroWriter.java
+++
b/paimon-core/src/main/java/org/apache/paimon/manifest/ManifestAvroWriter.java
@@ -739,8 +739,8 @@ public final class ManifestAvroWriter implements
AutoCloseable {
levelStatsKnown ? maxLevel : null,
rowIdStats == null ? null : rowIdStats.minRowId,
rowIdStats == null ? null : rowIdStats.maxRowId,
- null,
- totalBucketsKnown ? totalBuckets : null);
+ totalBucketsKnown ? totalBuckets : null,
+ null);
}
}
diff --git
a/paimon-core/src/main/java/org/apache/paimon/manifest/ManifestFileMeta.java
b/paimon-core/src/main/java/org/apache/paimon/manifest/ManifestFileMeta.java
index b0c7f7b13f..6a4c81abb5 100644
--- a/paimon-core/src/main/java/org/apache/paimon/manifest/ManifestFileMeta.java
+++ b/paimon-core/src/main/java/org/apache/paimon/manifest/ManifestFileMeta.java
@@ -59,11 +59,12 @@ public class ManifestFileMeta {
new DataField(9, "_MAX_LEVEL", new IntType(true)),
new DataField(10, "_MIN_ROW_ID", new
BigIntType(true)),
new DataField(11, "_MAX_ROW_ID", new
BigIntType(true)),
+ new DataField(12, "_TOTAL_BUCKETS", new
IntType(true)),
new DataField(
- 12,
+ 13,
"_EXTRA_FILES",
- new ArrayType(true, new VarCharType(false,
Integer.MAX_VALUE))),
- new DataField(13, "_TOTAL_BUCKETS", new
IntType(true))));
+ new ArrayType(
+ true, new VarCharType(false,
Integer.MAX_VALUE)))));
private final String fileName;
private final long fileSize;
@@ -77,38 +78,8 @@ public class ManifestFileMeta {
private final @Nullable Integer maxLevel;
private final @Nullable Long minRowId;
private final @Nullable Long maxRowId;
- private final @Nullable List<String> extraFiles;
private final @Nullable Integer totalBuckets;
-
- public ManifestFileMeta(
- String fileName,
- long fileSize,
- long numAddedFiles,
- long numDeletedFiles,
- SimpleStats partitionStats,
- long schemaId,
- @Nullable Integer minBucket,
- @Nullable Integer maxBucket,
- @Nullable Integer minLevel,
- @Nullable Integer maxLevel,
- @Nullable Long minRowId,
- @Nullable Long maxRowId) {
- this(
- fileName,
- fileSize,
- numAddedFiles,
- numDeletedFiles,
- partitionStats,
- schemaId,
- minBucket,
- maxBucket,
- minLevel,
- maxLevel,
- minRowId,
- maxRowId,
- null,
- null);
- }
+ private final @Nullable List<String> extraFiles;
public ManifestFileMeta(
String fileName,
@@ -123,39 +94,8 @@ public class ManifestFileMeta {
@Nullable Integer maxLevel,
@Nullable Long minRowId,
@Nullable Long maxRowId,
+ @Nullable Integer totalBuckets,
@Nullable List<String> extraFiles) {
- this(
- fileName,
- fileSize,
- numAddedFiles,
- numDeletedFiles,
- partitionStats,
- schemaId,
- minBucket,
- maxBucket,
- minLevel,
- maxLevel,
- minRowId,
- maxRowId,
- extraFiles,
- null);
- }
-
- public ManifestFileMeta(
- String fileName,
- long fileSize,
- long numAddedFiles,
- long numDeletedFiles,
- SimpleStats partitionStats,
- long schemaId,
- @Nullable Integer minBucket,
- @Nullable Integer maxBucket,
- @Nullable Integer minLevel,
- @Nullable Integer maxLevel,
- @Nullable Long minRowId,
- @Nullable Long maxRowId,
- @Nullable List<String> extraFiles,
- @Nullable Integer totalBuckets) {
this.fileName = fileName;
this.fileSize = fileSize;
this.numAddedFiles = numAddedFiles;
@@ -168,8 +108,8 @@ public class ManifestFileMeta {
this.maxLevel = maxLevel;
this.minRowId = minRowId;
this.maxRowId = maxRowId;
- this.extraFiles = extraFiles;
this.totalBuckets = totalBuckets;
+ this.extraFiles = extraFiles;
}
public String fileName() {
@@ -220,14 +160,14 @@ public class ManifestFileMeta {
return maxRowId;
}
- public @Nullable List<String> extraFiles() {
- return extraFiles;
- }
-
public @Nullable Integer totalBuckets() {
return totalBuckets;
}
+ public @Nullable List<String> extraFiles() {
+ return extraFiles;
+ }
+
@Override
public boolean equals(Object o) {
if (!(o instanceof ManifestFileMeta)) {
@@ -246,8 +186,8 @@ public class ManifestFileMeta {
&& Objects.equals(maxLevel, that.maxLevel)
&& Objects.equals(minRowId, that.minRowId)
&& Objects.equals(maxRowId, that.maxRowId)
- && Objects.equals(extraFiles, that.extraFiles)
- && Objects.equals(totalBuckets, that.totalBuckets);
+ && Objects.equals(totalBuckets, that.totalBuckets)
+ && Objects.equals(extraFiles, that.extraFiles);
}
@Override
@@ -265,8 +205,8 @@ public class ManifestFileMeta {
maxLevel,
minRowId,
maxRowId,
- extraFiles,
- totalBuckets);
+ totalBuckets,
+ extraFiles);
}
@Override
@@ -285,8 +225,8 @@ public class ManifestFileMeta {
maxLevel,
minRowId,
maxRowId,
- extraFiles,
- totalBuckets);
+ totalBuckets,
+ extraFiles);
}
// ----------------------- Serialization -----------------------------
diff --git
a/paimon-core/src/main/java/org/apache/paimon/manifest/ManifestFileMetaSerializer.java
b/paimon-core/src/main/java/org/apache/paimon/manifest/ManifestFileMetaSerializer.java
index 7e44d42f99..30f74a305a 100644
---
a/paimon-core/src/main/java/org/apache/paimon/manifest/ManifestFileMetaSerializer.java
+++
b/paimon-core/src/main/java/org/apache/paimon/manifest/ManifestFileMetaSerializer.java
@@ -60,8 +60,8 @@ public class ManifestFileMetaSerializer extends
ObjectSerializer<ManifestFileMet
meta.maxLevel(),
meta.minRowId(),
meta.maxRowId(),
- toStringArrayData(meta.extraFiles()),
- meta.totalBuckets());
+ meta.totalBuckets(),
+ toStringArrayData(meta.extraFiles()));
}
@Override
@@ -96,7 +96,7 @@ public class ManifestFileMetaSerializer extends
ObjectSerializer<ManifestFileMet
row.isNullAt(9) ? null : row.getInt(9),
row.isNullAt(10) ? null : row.getLong(10),
row.isNullAt(11) ? null : row.getLong(11),
- row.isNullAt(12) ? null :
fromStringArrayData(row.getArray(12)),
- row.getFieldCount() <= 13 || row.isNullAt(13) ? null :
row.getInt(13));
+ row.isNullAt(12) ? null : row.getInt(12),
+ row.isNullAt(13) ? null :
fromStringArrayData(row.getArray(13)));
}
}
diff --git
a/paimon-core/src/test/java/org/apache/paimon/append/dataevolution/DataEvolutionCompactCoordinatorTest.java
b/paimon-core/src/test/java/org/apache/paimon/append/dataevolution/DataEvolutionCompactCoordinatorTest.java
index 0ce6a252a5..f222705a1e 100644
---
a/paimon-core/src/test/java/org/apache/paimon/append/dataevolution/DataEvolutionCompactCoordinatorTest.java
+++
b/paimon-core/src/test/java/org/apache/paimon/append/dataevolution/DataEvolutionCompactCoordinatorTest.java
@@ -717,6 +717,8 @@ public class DataEvolutionCompactCoordinatorTest {
null,
null,
null,
+ null,
+ null,
null);
ManifestFileMeta metaWithRowId =
new ManifestFileMeta(
@@ -731,7 +733,9 @@ public class DataEvolutionCompactCoordinatorTest {
null,
null,
0L,
- 199L);
+ 199L,
+ null,
+ null);
List<ManifestFileMeta> metas = Arrays.asList(metaWithNullRowId,
metaWithRowId);
when(manifestsReader.read(snapshot, ScanMode.ALL))
.thenReturn(new ManifestsReader.Result(snapshot, metas,
metas));
@@ -818,6 +822,8 @@ public class DataEvolutionCompactCoordinatorTest {
null,
null,
null,
+ null,
+ null,
null);
when(manifestsReader.read(snapshot, ScanMode.ALL))
.thenReturn(
diff --git
a/paimon-core/src/test/java/org/apache/paimon/append/dataevolution/DataEvolutionCompactRangePlannerTest.java
b/paimon-core/src/test/java/org/apache/paimon/append/dataevolution/DataEvolutionCompactRangePlannerTest.java
index 93059aeea1..0ba815a3d1 100644
---
a/paimon-core/src/test/java/org/apache/paimon/append/dataevolution/DataEvolutionCompactRangePlannerTest.java
+++
b/paimon-core/src/test/java/org/apache/paimon/append/dataevolution/DataEvolutionCompactRangePlannerTest.java
@@ -447,6 +447,8 @@ class DataEvolutionCompactRangePlannerTest extends
TableTestBase {
meta.minLevel(),
meta.maxLevel(),
null,
+ null,
+ null,
null);
}
diff --git
a/paimon-core/src/test/java/org/apache/paimon/append/dataevolution/DataEvolutionRowIdReassignerTest.java
b/paimon-core/src/test/java/org/apache/paimon/append/dataevolution/DataEvolutionRowIdReassignerTest.java
index 54e89507c9..3cde9a1b7c 100644
---
a/paimon-core/src/test/java/org/apache/paimon/append/dataevolution/DataEvolutionRowIdReassignerTest.java
+++
b/paimon-core/src/test/java/org/apache/paimon/append/dataevolution/DataEvolutionRowIdReassignerTest.java
@@ -2351,7 +2351,9 @@ public class DataEvolutionRowIdReassignerTest extends
TableTestBase {
manifestMeta.minLevel(),
manifestMeta.maxLevel(),
manifestMeta.minRowId(),
- manifestMeta.maxRowId());
+ manifestMeta.maxRowId(),
+ null,
+ null);
}
private void assertReassignedOutOfOrderPartitionEntries(
diff --git
a/paimon-core/src/test/java/org/apache/paimon/manifest/LegacyManifestFileMetaSerializerPaimon10.java
b/paimon-core/src/test/java/org/apache/paimon/manifest/LegacyManifestFileMetaSerializerPaimon10.java
index a1a38b2638..f13ce99aeb 100644
---
a/paimon-core/src/test/java/org/apache/paimon/manifest/LegacyManifestFileMetaSerializerPaimon10.java
+++
b/paimon-core/src/test/java/org/apache/paimon/manifest/LegacyManifestFileMetaSerializerPaimon10.java
@@ -92,6 +92,8 @@ public class LegacyManifestFileMetaSerializerPaimon10 extends
ObjectSerializer<M
null,
null,
null,
+ null,
+ null,
null);
}
}
diff --git
a/paimon-core/src/test/java/org/apache/paimon/manifest/ManifestFileMetaSerializerTest.java
b/paimon-core/src/test/java/org/apache/paimon/manifest/ManifestFileMetaSerializerTest.java
index 7600c7d01f..46ff2067d2 100644
---
a/paimon-core/src/test/java/org/apache/paimon/manifest/ManifestFileMetaSerializerTest.java
+++
b/paimon-core/src/test/java/org/apache/paimon/manifest/ManifestFileMetaSerializerTest.java
@@ -68,8 +68,8 @@ public class ManifestFileMetaSerializerTest extends
ObjectSerializerTestBase<Man
original.maxLevel(),
original.minRowId(),
original.maxRowId(),
- extraFiles,
- original.totalBuckets());
+ original.totalBuckets(),
+ extraFiles);
ManifestFileMeta fromRow =
serializer.fromRow(serializer.toRow(meta));
ManifestFileMeta fromBytes =
serializer.deserializeFromBytes(meta.toBytes());
diff --git
a/paimon-core/src/test/java/org/apache/paimon/manifest/ManifestFileMetaTest.java
b/paimon-core/src/test/java/org/apache/paimon/manifest/ManifestFileMetaTest.java
index 593b625cec..c27d8c012f 100644
---
a/paimon-core/src/test/java/org/apache/paimon/manifest/ManifestFileMetaTest.java
+++
b/paimon-core/src/test/java/org/apache/paimon/manifest/ManifestFileMetaTest.java
@@ -2534,7 +2534,9 @@ public class ManifestFileMetaTest extends
ManifestFileMetaTestBase {
manifestA.minLevel(),
manifestA.maxLevel(),
manifestA.minRowId(),
- manifestA.maxRowId()));
+ manifestA.maxRowId(),
+ null,
+ null));
// Manifest B: partitions [5, 15] - overlaps with A
List<ManifestEntry> entriesB = new ArrayList<>();
@@ -2555,7 +2557,9 @@ public class ManifestFileMetaTest extends
ManifestFileMetaTestBase {
manifestB.minLevel(),
manifestB.maxLevel(),
manifestB.minRowId(),
- manifestB.maxRowId()));
+ manifestB.maxRowId(),
+ null,
+ null));
// Manifest C: partitions [10, 20] - overlaps with B
List<ManifestEntry> entriesC = new ArrayList<>();
@@ -2576,7 +2580,9 @@ public class ManifestFileMetaTest extends
ManifestFileMetaTestBase {
manifestC.minLevel(),
manifestC.maxLevel(),
manifestC.minRowId(),
- manifestC.maxRowId()));
+ manifestC.maxRowId(),
+ null,
+ null));
// Set small budget to force split
Options testOptions = new Options();
diff --git
a/paimon-core/src/test/java/org/apache/paimon/manifest/ManifestFileTest.java
b/paimon-core/src/test/java/org/apache/paimon/manifest/ManifestFileTest.java
index c472eb1d34..c85d82bf9c 100644
--- a/paimon-core/src/test/java/org/apache/paimon/manifest/ManifestFileTest.java
+++ b/paimon-core/src/test/java/org/apache/paimon/manifest/ManifestFileTest.java
@@ -281,7 +281,9 @@ public class ManifestFileTest {
null,
null,
source.minRowId(),
- source.maxRowId());
+ source.maxRowId(),
+ null,
+ null);
ManifestAvroWriter writer = manifestFile.createAvroWriter();
try (ManifestAvroReader reader = openManifestReader(source)) {
diff --git
a/paimon-core/src/test/java/org/apache/paimon/manifest/ManifestListTest.java
b/paimon-core/src/test/java/org/apache/paimon/manifest/ManifestListTest.java
index 37b840b9fe..bc4bca410a 100644
--- a/paimon-core/src/test/java/org/apache/paimon/manifest/ManifestListTest.java
+++ b/paimon-core/src/test/java/org/apache/paimon/manifest/ManifestListTest.java
@@ -158,6 +158,8 @@ public class ManifestListTest {
null,
null,
null,
+ null,
+ null,
null));
}
return result;
@@ -194,8 +196,8 @@ public class ManifestListTest {
meta.maxLevel(),
meta.minRowId(),
meta.maxRowId(),
- extraFiles,
- meta.totalBuckets()));
+ meta.totalBuckets(),
+ extraFiles));
}
return metas;
}
diff --git
a/paimon-core/src/test/java/org/apache/paimon/manifest/ManifestTestDataGenerator.java
b/paimon-core/src/test/java/org/apache/paimon/manifest/ManifestTestDataGenerator.java
index a9cbb498e9..c44ac3e4a9 100644
---
a/paimon-core/src/test/java/org/apache/paimon/manifest/ManifestTestDataGenerator.java
+++
b/paimon-core/src/test/java/org/apache/paimon/manifest/ManifestTestDataGenerator.java
@@ -143,8 +143,8 @@ public class ManifestTestDataGenerator {
maxLevel,
null,
null,
- null,
- totalBucketsKnown ? totalBuckets : null);
+ totalBucketsKnown ? totalBuckets : null,
+ null);
}
private void mergeLevelsIfNeeded(BinaryRow partition, int bucket) {
diff --git
a/paimon-core/src/test/java/org/apache/paimon/operation/BucketSelectorTest.java
b/paimon-core/src/test/java/org/apache/paimon/operation/BucketSelectorTest.java
index bcee6762ed..cd5208753f 100644
---
a/paimon-core/src/test/java/org/apache/paimon/operation/BucketSelectorTest.java
+++
b/paimon-core/src/test/java/org/apache/paimon/operation/BucketSelectorTest.java
@@ -104,8 +104,8 @@ public class BucketSelectorTest {
0,
null,
null,
- null,
- totalBuckets);
+ totalBuckets,
+ null);
}
@Test
diff --git
a/paimon-core/src/test/java/org/apache/paimon/operation/ExpireSnapshotsTest.java
b/paimon-core/src/test/java/org/apache/paimon/operation/ExpireSnapshotsTest.java
index 8dfcb1c21a..24a6e0eaea 100644
---
a/paimon-core/src/test/java/org/apache/paimon/operation/ExpireSnapshotsTest.java
+++
b/paimon-core/src/test/java/org/apache/paimon/operation/ExpireSnapshotsTest.java
@@ -534,6 +534,7 @@ public class ExpireSnapshotsTest {
null,
null,
null,
+ null,
extraFiles);
}
@@ -947,6 +948,8 @@ public class ExpireSnapshotsTest {
null,
null,
null,
+ null,
+ null,
null);
String manifestList =
store.manifestListFactory()
diff --git
a/paimon-core/src/test/java/org/apache/paimon/operation/LocalOrphanFilesCleanTest.java
b/paimon-core/src/test/java/org/apache/paimon/operation/LocalOrphanFilesCleanTest.java
index 36499bb4a6..9e3bf05b69 100644
---
a/paimon-core/src/test/java/org/apache/paimon/operation/LocalOrphanFilesCleanTest.java
+++
b/paimon-core/src/test/java/org/apache/paimon/operation/LocalOrphanFilesCleanTest.java
@@ -570,6 +570,7 @@ public class LocalOrphanFilesCleanTest {
meta.maxLevel(),
meta.minRowId(),
meta.maxRowId(),
+ null,
Collections.singletonList(extraFile)));
Pair<String, Long> newManifestList = manifestList.write(manifests);
ObjectNode node =
diff --git
a/paimon-core/src/test/java/org/apache/paimon/operation/ManifestFileMergerTest.java
b/paimon-core/src/test/java/org/apache/paimon/operation/ManifestFileMergerTest.java
index ff6e738f4d..cfd1cb8fc1 100644
---
a/paimon-core/src/test/java/org/apache/paimon/operation/ManifestFileMergerTest.java
+++
b/paimon-core/src/test/java/org/apache/paimon/operation/ManifestFileMergerTest.java
@@ -239,6 +239,8 @@ public class ManifestFileMergerTest extends
ManifestFileMetaTestBase {
current.minLevel(),
current.maxLevel(),
current.minRowId(),
- current.maxRowId());
+ current.maxRowId(),
+ null,
+ null);
}
}