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);

Reply via email to