Skip to content

【bug】【The paimon catalog query field type is array<struct> Query paimon orc and parquet storage format, error】 #49800

Open
@dsanww

Description

Steps to reproduce the behavior (Required)

1、paimon on flink sql (paimon version:0.8+ , flink version:1.18):
CREATE TABLE
paimon_catalog.default.t3 (
theme_id string NOT NULL COMMENT '主键,全局唯一id',
category_ids array<row<c_id string,c_name string>> COMMENT '品类id',
update_time TIMESTAMP(0) COMMENT '更新时',
PRIMARY KEY (theme_id) NOT ENFORCED
)
WITH
(
'bucket' = '1',
'merge-engine' = 'partial-update',
'fields.update_time.sequence-group' = 'category_ids',
'changelog-producer' = 'lookup',
'fields.category_ids.aggregate-function' = 'collect',
'fields.category_ids.distinct' = 'true'
);
insert into t3 values ( '1', array[row ('id1', 'name1')],cast('2024-08-14 10:00:00' as TIMESTAMP));
insert into t3 values ( '1', array[row ('id2', 'name2')],cast('2024-08-14 10:00:00' as TIMESTAMP));
insert into t3 values ( '1', array[row ('id3', 'name3')],cast('2024-08-14 10:00:00' as TIMESTAMP));
insert into t3 values ( '1', array[row ('id4', 'name4')],cast('2024-08-14 10:00:00' as TIMESTAMP));
2、starrocks(3.3.1):
select * from paimon08_catalog_fs.default.t3;

Expected behavior (Required)

no error

Real behavior (Required)

Caused by: java.lang.IndexOutOfBoundsException: Index 1 out of bounds for length 1
at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:248)
at java.base/java.util.Objects.checkIndex(Objects.java:372)
at java.base/java.util.ArrayList.get(ArrayList.java:459)
at org.apache.paimon.shade.org.apache.parquet.schema.GroupType.getType(GroupType.java:216)
at org.apache.paimon.format.parquet.reader.ParquetSplitReaderUtil.createWritableColumnVector(ParquetSplitReaderUtil.java:345)
at org.apache.paimon.format.parquet.reader.ParquetSplitReaderUtil.createWritableColumnVector(ParquetSplitReaderUtil.java:295)
at org.apache.paimon.format.parquet.ParquetReaderFactory.createWritableVectors(ParquetReaderFactory.java:204)
at org.apache.paimon.format.parquet.ParquetReaderFactory.createReaderBatch(ParquetReaderFactory.java:194)
at org.apache.paimon.format.parquet.ParquetReaderFactory.createPoolOfBatches(ParquetReaderFactory.java:186)
at org.apache.paimon.format.parquet.ParquetReaderFactory.createReader(ParquetReaderFactory.java:105)
at org.apache.paimon.format.parquet.ParquetReaderFactory.createReader(ParquetReaderFactory.java:67)
at org.apache.paimon.io.FileRecordReader.(FileRecordReader.java:82)
at org.apache.paimon.io.KeyValueFileReaderFactory.createRecordReader(KeyValueFileReaderFactory.java:144)
at org.apache.paimon.io.KeyValueFileReaderFactory.createRecordReader(KeyValueFileReaderFactory.java:107)
at org.apache.paimon.io.KeyValueFileReaderFactory.createRecordReader(KeyValueFileReaderFactory.java:98)
at org.apache.paimon.mergetree.MergeTreeReaders.lambda$readerForRun$2(MergeTreeReaders.java:86)
at org.apache.paimon.mergetree.compact.ConcatRecordReader.create(ConcatRecordReader.java:51)
at org.apache.paimon.mergetree.MergeTreeReaders.readerForRun(MergeTreeReaders.java:88)
at org.apache.paimon.mergetree.MergeTreeReaders.lambda$readerForSection$1(MergeTreeReaders.java:76)
at org.apache.paimon.mergetree.MergeSorter.mergeSort(MergeSorter.java:124)
at org.apache.paimon.mergetree.MergeTreeReaders.readerForSection(MergeTreeReaders.java:78)
at org.apache.paimon.operation.MergeFileSplitRead.lambda$createMergeReader$2(MergeFileSplitRead.java:267)
at org.apache.paimon.mergetree.compact.ConcatRecordReader.create(ConcatRecordReader.java:51)
at org.apache.paimon.operation.MergeFileSplitRead.createMergeReader(MergeFileSplitRead.java:277)
at org.apache.paimon.operation.MergeFileSplitRead.createReader(MergeFileSplitRead.java:237)
at org.apache.paimon.table.source.splitread.MergeFileSplitReadProvider.lambda$create$1(MergeFileSplitReadProvider.java:51)
at org.apache.paimon.operation.SplitRead$1.createReader(SplitRead.java:78)
at org.apache.paimon.table.source.KeyValueTableRead.reader(KeyValueTableRead.java:118)
at org.apache.paimon.table.source.AbstractDataTableRead.createReader(AbstractDataTableRead.java:82)
at com.starrocks.paimon.reader.PaimonSplitScanner.initReader(PaimonSplitScanner.java:106)
at com.starrocks.paimon.reader.PaimonSplitScanner.open(PaimonSplitScanner.java:116)

StarRocks version (Required)

3.3.1

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions