This is an automated email from the ASF dual-hosted git repository.
lzljs3620320 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 e8e90ded1b [core] fix btree index row range (#7242)
e8e90ded1b is described below
commit e8e90ded1b5c4a536bfcc64c8d594692bd7fbeed
Author: Faiz <[email protected]>
AuthorDate: Mon Feb 9 22:49:43 2026 +0800
[core] fix btree index row range (#7242)
---
.../org/apache/paimon/globalindex/btree/BTreeGlobalIndexBuilder.java | 2 +-
.../paimon/spark/procedure/CreateGlobalIndexProcedureTest.scala | 4 +++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git
a/paimon-core/src/main/java/org/apache/paimon/globalindex/btree/BTreeGlobalIndexBuilder.java
b/paimon-core/src/main/java/org/apache/paimon/globalindex/btree/BTreeGlobalIndexBuilder.java
index 3a3dcc2697..7bceb4ed4f 100644
---
a/paimon-core/src/main/java/org/apache/paimon/globalindex/btree/BTreeGlobalIndexBuilder.java
+++
b/paimon-core/src/main/java/org/apache/paimon/globalindex/btree/BTreeGlobalIndexBuilder.java
@@ -255,7 +255,7 @@ public class BTreeGlobalIndexBuilder implements
Serializable {
for (DataFileMeta file : dataSplit.dataFiles()) {
long firstRowId = file.nonNullFirstRowId();
start = Math.min(start, firstRowId);
- end = Math.max(end, firstRowId + file.rowCount());
+ end = Math.max(end, firstRowId + file.rowCount() - 1);
}
}
return start == Long.MAX_VALUE ? null : new Range(start, end);
diff --git
a/paimon-spark/paimon-spark-ut/src/test/scala/org/apache/paimon/spark/procedure/CreateGlobalIndexProcedureTest.scala
b/paimon-spark/paimon-spark-ut/src/test/scala/org/apache/paimon/spark/procedure/CreateGlobalIndexProcedureTest.scala
index 8fd0d541a5..e20469c371 100644
---
a/paimon-spark/paimon-spark-ut/src/test/scala/org/apache/paimon/spark/procedure/CreateGlobalIndexProcedureTest.scala
+++
b/paimon-spark/paimon-spark-ut/src/test/scala/org/apache/paimon/spark/procedure/CreateGlobalIndexProcedureTest.scala
@@ -180,10 +180,12 @@ class CreateGlobalIndexProcedureTest extends
PaimonSparkTestBase with StreamTest
table.store().newGlobalIndexScanBuilder().shardList()
assert(btreeEntries.nonEmpty)
- // 1. assert total row count and file count
+ // 1. assert total row count, file count and row range
val totalRowCount = btreeEntries.map(_.rowCount()).sum
assert(btreeEntries.size == 100)
assert(totalRowCount == 100000L)
+ assert(btreeEntries.head.globalIndexMeta().rowRangeStart() == 0L)
+ assert(btreeEntries.head.globalIndexMeta().rowRangeEnd() == 99999L)
// 2. assert global index meta not null
btreeEntries.foreach(e => assert(e.globalIndexMeta() != null))