Closed
Description
After several tests, I can summarize if row columns include BOOLEAN
/TIMESTAMP
/nested struct(row)
types in the table it will raise the same error.
Steps to reproduce the behavior (Required)
-- DROP TABLE row_error_test;
CREATE TABLE IF NOT EXISTS row_error_test (
row_field ROW<
f_sequence INT,
f_random INT,
f_random_str STRING,
f_random_boolean BOOLEAN,
f_random_timestamp TIMESTAMP,
nest_row_field ROW<
f_random_boolean BOOLEAN
>
>
);
-- DROP TEMPORARY TABLE datagen_source;
CREATE TEMPORARY TABLE datagen_source (
row_field ROW<
f_sequence INT,
f_random INT,
f_random_str STRING,
f_random_boolean BOOLEAN,
f_random_timestamp TIMESTAMP,
nest_row_field ROW<
f_random_boolean BOOLEAN
>
>
) WITH (
'connector' = 'datagen',
'number-of-rows' = '10',
'fields.row_field.f_sequence.min'='1',
'fields.row_field.f_sequence.max'='1000',
'fields.row_field.f_random.min'='1',
'fields.row_field.f_random.max'='1000',
'fields.row_field.f_random_str.length'='100'
);
INSERT INTO row_error_test select * from datagen_source;
Expected behavior (Required)
Flink SQL return resut below
Flink SQL> select *, row_field.f_random_boolean, row_field.f_random_timestamp, row_field.nest_row_field from row_error_test limit 1;
2023-09-08 22:15:27,675 INFO org.apache.hadoop.fs.s3a.S3AInputStream [] - Switching to Random IO seek policy
2023-09-08 22:15:27,694 INFO org.apache.hadoop.fs.s3a.S3AInputStream [] - Switching to Random IO seek policy
2023-09-08 22:15:27,713 INFO org.apache.hadoop.fs.s3a.S3AInputStream [] - Switching to Random IO seek policy
+--------------------------------+------------------+----------------------------+----------------+
| row_field | f_random_boolean | f_random_timestamp | nest_row_field |
+--------------------------------+------------------+----------------------------+----------------+
| (1, 951, 4cc6d7b60565f01f82... | FALSE | 2023-09-08 14:11:12.285000 | (TRUE) |
+--------------------------------+------------------+----------------------------+----------------+
Real behavior (Required)
Sql-client return an error below
StarRocks > select *, row_field.f_random_boolean, row_field.f_random_timestamp, row_field.nest_row_field from row_error_test limit 1;
ERROR 1064 (HY000): Failed to call the nextChunkOffHeap method of off-heap table scanner. java exception details: java.io.IOException: Failed to get the next off-heap table chunk of paimon.[com.starrocks.paimon.reader.PaimonSplitScanner.getNext(PaimonSplitScanner.java:215), com.starrocks.jni.connector.ConnectorScanner.getNextOffHeapChunk(ConnectorScanner.java:101)]
StarRocks version (Required)
- You can get the StarRocks version by executing SQL
select current_version()
in branch main
and the latest commit is da50131