This is an automated email from the ASF dual-hosted git repository.
junhao 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 0ce5870557 [core] [fix] Fix row id push down, blob bunch check failed
(#6553)
0ce5870557 is described below
commit 0ce5870557c028217389248a037b3b55aecb75c0
Author: YeJunHao <[email protected]>
AuthorDate: Fri Nov 7 11:16:09 2025 +0800
[core] [fix] Fix row id push down, blob bunch check failed (#6553)
---
.../main/java/org/apache/paimon/operation/DataEvolutionSplitRead.java | 3 ++-
.../test/java/org/apache/paimon/operation/DataEvolutionReadTest.java | 4 ++++
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git
a/paimon-core/src/main/java/org/apache/paimon/operation/DataEvolutionSplitRead.java
b/paimon-core/src/main/java/org/apache/paimon/operation/DataEvolutionSplitRead.java
index 47a247be48..366aadc41e 100644
---
a/paimon-core/src/main/java/org/apache/paimon/operation/DataEvolutionSplitRead.java
+++
b/paimon-core/src/main/java/org/apache/paimon/operation/DataEvolutionSplitRead.java
@@ -466,7 +466,8 @@ public class DataEvolutionSplitRead implements
SplitRead<InternalRow> {
if (rowIdPushDown) {
if (firstRowId < expectedNextFirstRowId) {
if (file.maxSequenceNumber() >
latestMaxSequenceNumber) {
- files.remove(files.size() - 1);
+ DataFileMeta lastFile = files.remove(files.size()
- 1);
+ rowCount -= lastFile.rowCount();
} else {
return;
}
diff --git
a/paimon-core/src/test/java/org/apache/paimon/operation/DataEvolutionReadTest.java
b/paimon-core/src/test/java/org/apache/paimon/operation/DataEvolutionReadTest.java
index 6b9dd29b59..452813d9d9 100644
---
a/paimon-core/src/test/java/org/apache/paimon/operation/DataEvolutionReadTest.java
+++
b/paimon-core/src/test/java/org/apache/paimon/operation/DataEvolutionReadTest.java
@@ -336,6 +336,10 @@ public class DataEvolutionReadTest {
blobBunch.add(blobEntry1);
blobBunch.add(blobEntry2);
assertThat(blobBunch.files).containsExactlyInAnyOrder(blobEntry2);
+
+ BlobBunch finalBlobBunch2 = blobBunch;
+ DataFileMeta blobEntry3 = createBlobFile("blob2", 250, 100, 2);
+ assertThatCode(() ->
finalBlobBunch2.add(blobEntry3)).doesNotThrowAnyException();
}
/** Creates a normal (non-blob) file for testing. */