This is an automated email from the ASF dual-hosted git repository.
lzljs3620320 pushed a commit to branch release-1.0
in repository https://gitbox.apache.org/repos/asf/paimon.git
The following commit(s) were added to refs/heads/release-1.0 by this push:
new d4993a9043 [core] Fix listPartitions ArrayIndexOutOfBoundsException
for release-1.0 (#4976)
d4993a9043 is described below
commit d4993a9043092deee878e210a724932f6c96ee26
Author: Jiao Mingye <[email protected]>
AuthorDate: Tue Jan 21 22:20:05 2025 +0800
[core] Fix listPartitions ArrayIndexOutOfBoundsException for release-1.0
(#4976)
---
.../main/java/org/apache/paimon/catalog/CatalogUtils.java | 2 +-
.../apache/paimon/table/FallbackReadFileStoreTableTest.java | 12 +++++++-----
2 files changed, 8 insertions(+), 6 deletions(-)
diff --git
a/paimon-core/src/main/java/org/apache/paimon/catalog/CatalogUtils.java
b/paimon-core/src/main/java/org/apache/paimon/catalog/CatalogUtils.java
index 301c7136e9..cb78783a7b 100644
--- a/paimon-core/src/main/java/org/apache/paimon/catalog/CatalogUtils.java
+++ b/paimon-core/src/main/java/org/apache/paimon/catalog/CatalogUtils.java
@@ -75,7 +75,7 @@ public class CatalogUtils {
InternalRowPartitionComputer computer =
new InternalRowPartitionComputer(
options.get(PARTITION_DEFAULT_NAME),
- table.rowType(),
+ table.rowType().project(table.partitionKeys()),
table.partitionKeys().toArray(new String[0]),
options.get(PARTITION_GENERATE_LEGCY_NAME));
List<PartitionEntry> partitionEntries =
diff --git
a/paimon-core/src/test/java/org/apache/paimon/table/FallbackReadFileStoreTableTest.java
b/paimon-core/src/test/java/org/apache/paimon/table/FallbackReadFileStoreTableTest.java
index 1b7eeddd95..6279e9e2f6 100644
---
a/paimon-core/src/test/java/org/apache/paimon/table/FallbackReadFileStoreTableTest.java
+++
b/paimon-core/src/test/java/org/apache/paimon/table/FallbackReadFileStoreTableTest.java
@@ -19,6 +19,7 @@
package org.apache.paimon.table;
import org.apache.paimon.CoreOptions;
+import org.apache.paimon.catalog.CatalogUtils;
import org.apache.paimon.data.InternalRow;
import org.apache.paimon.fs.FileIO;
import org.apache.paimon.fs.FileIOFinder;
@@ -57,7 +58,7 @@ public class FallbackReadFileStoreTableTest {
new DataType[] {
DataTypes.INT(), DataTypes.INT(),
},
- new String[] {"pt", "a"});
+ new String[] {"a", "pt"});
@TempDir java.nio.file.Path tempDir;
@@ -81,14 +82,14 @@ public class FallbackReadFileStoreTableTest {
FileStoreTable mainTable = createTable();
// write data into partition 1 and 2.
- writeDataIntoTable(mainTable, 0, rowData(1, 10), rowData(2, 20));
+ writeDataIntoTable(mainTable, 0, rowData(10, 1), rowData(20, 2));
mainTable.createBranch(branchName);
FileStoreTable branchTable = createTableFromBranch(mainTable,
branchName);
// write data into partition for branch only
- writeDataIntoTable(branchTable, 0, rowData(3, 60));
+ writeDataIntoTable(branchTable, 0, rowData(60, 3));
FallbackReadFileStoreTable fallbackTable =
new FallbackReadFileStoreTable(mainTable, branchTable);
@@ -105,6 +106,7 @@ public class FallbackReadFileStoreTableTest {
.collect(Collectors.toList());
// this should contain all partitions
assertThat(partitionsFromFallbackTable).containsExactlyInAnyOrder(1,
2, 3);
+
assertThat(CatalogUtils.listPartitionsFromFileSystem(mainTable)).size().isEqualTo(2);
}
@Test
@@ -114,14 +116,14 @@ public class FallbackReadFileStoreTableTest {
FileStoreTable mainTable = createTable();
// write data into partition 1 and 2.
- writeDataIntoTable(mainTable, 0, rowData(1, 10), rowData(1, 30),
rowData(2, 20));
+ writeDataIntoTable(mainTable, 0, rowData(10, 1), rowData(30, 1),
rowData(20, 2));
mainTable.createBranch(branchName);
FileStoreTable branchTable = createTableFromBranch(mainTable,
branchName);
// write data into partition for branch only
- writeDataIntoTable(branchTable, 0, rowData(1, 50), rowData(3, 60),
rowData(4, 70));
+ writeDataIntoTable(branchTable, 0, rowData(50, 1), rowData(60, 3),
rowData(70, 4));
FallbackReadFileStoreTable fallbackTable =
new FallbackReadFileStoreTable(mainTable, branchTable);