[ 
https://issues.apache.org/jira/browse/FLINK-37418?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Spongebob closed FLINK-37418.
-----------------------------
    Resolution: Not A Problem

> caugth array out of index exception while using RowData.getArray method
> -----------------------------------------------------------------------
>
>                 Key: FLINK-37418
>                 URL: https://issues.apache.org/jira/browse/FLINK-37418
>             Project: Flink
>          Issue Type: Bug
>          Components: Table SQL / API
>    Affects Versions: 1.17.2
>            Reporter: Spongebob
>            Priority: Major
>
> Test RowData's arity is 10. the 5th column is an array structure. then I 
> called rowData.
> getArray(4), it throws array out of index exception.
> below shows the stacktrace. it would be nice if you could help.
> {code:java}
> java.lang.ArrayIndexOutOfBoundsException: Index 2 out of bounds for length 1
>     at 
> org.apache.flink.table.data.binary.BinarySegmentUtils.getIntMultiSegments(BinarySegmentUtils.java:645)
>  ~[flink-table-common-1.17.2.jar:1.17.2]
>     at 
> org.apache.flink.table.data.binary.BinarySegmentUtils.getInt(BinarySegmentUtils.java:635)
>  ~[flink-table-common-1.17.2.jar:1.17.2]
>     at 
> org.apache.flink.table.data.binary.BinaryArrayData.pointTo(BinaryArrayData.java:143)
>  ~[flink-table-common-1.17.2.jar:1.17.2]
>     at 
> org.apache.flink.table.data.binary.BinarySegmentUtils.readArrayData(BinarySegmentUtils.java:1110)
>  ~[flink-table-common-1.17.2.jar:1.17.2]
>     at 
> org.apache.flink.table.data.binary.BinaryRowData.getArray(BinaryRowData.java:376)
>  ~[flink-table-common-1.17.2.jar:1.17.2]
>     at 
> com.yuanju.beidou.data.historical.sync.sql.connector.starrocks.StarRocksWriter.getRawValue(StarRocksWriter.java:88)
>  ~[classes/:?]
>     at 
> com.yuanju.beidou.data.historical.sync.sql.connector.starrocks.StarRocksWriter.rowDataToObject(StarRocksWriter.java:75)
>  ~[classes/:?]
>     at 
> com.yuanju.beidou.data.historical.sync.sql.connector.starrocks.StarRocksWriter.write(StarRocksWriter.java:42)
>  ~[classes/:?]
>     at 
> com.yuanju.beidou.data.historical.sync.sql.connector.starrocks.StarRocksWriter.write(StarRocksWriter.java:15)
>  ~[classes/:?]
>     at 
> org.apache.flink.streaming.runtime.operators.sink.SinkWriterOperator.processElement(SinkWriterOperator.java:158)
>  ~[flink-streaming-java-1.17.2.jar:1.17.2]
>     at 
> org.apache.flink.streaming.runtime.tasks.OneInputStreamTask$StreamTaskNetworkOutput.emitRecord(OneInputStreamTask.java:237)
>  ~[flink-streaming-java-1.17.2.jar:1.17.2]
>     at 
> org.apache.flink.streaming.runtime.io.AbstractStreamTaskNetworkInput.processElement(AbstractStreamTaskNetworkInput.java:146)
>  ~[flink-streaming-java-1.17.2.jar:1.17.2]
>     at 
> org.apache.flink.streaming.runtime.io.AbstractStreamTaskNetworkInput.emitNext(AbstractStreamTaskNetworkInput.java:110)
>  ~[flink-streaming-java-1.17.2.jar:1.17.2]
>     at 
> org.apache.flink.streaming.runtime.io.StreamOneInputProcessor.processInput(StreamOneInputProcessor.java:65)
>  ~[flink-streaming-java-1.17.2.jar:1.17.2]
>     at 
> org.apache.flink.streaming.runtime.tasks.StreamTask.processInput(StreamTask.java:550)
>  ~[flink-streaming-java-1.17.2.jar:1.17.2]
>     at 
> org.apache.flink.streaming.runtime.tasks.mailbox.MailboxProcessor.runMailboxLoop(MailboxProcessor.java:231)
>  ~[flink-streaming-java-1.17.2.jar:1.17.2]
>     at 
> org.apache.flink.streaming.runtime.tasks.StreamTask.runMailboxLoop(StreamTask.java:839)
>  ~[flink-streaming-java-1.17.2.jar:1.17.2]
>     at 
> org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:788)
>  ~[flink-streaming-java-1.17.2.jar:1.17.2]
>     at 
> org.apache.flink.runtime.taskmanager.Task.runWithSystemExitMonitoring(Task.java:952)
>  ~[flink-runtime-1.17.2.jar:1.17.2]
>     at 
> org.apache.flink.runtime.taskmanager.Task.restoreAndInvoke(Task.java:931) 
> [flink-runtime-1.17.2.jar:1.17.2]
>     at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:745) 
> [flink-runtime-1.17.2.jar:1.17.2]
>     at org.apache.flink.runtime.taskmanager.Task.run(Task.java:562) 
> [flink-runtime-1.17.2.jar:1.17.2]
>     at java.lang.Thread.run(Thread.java:834) [?:?] {code}
> here's the sink table's ddl:
> {code:java}
> String sink = "create table user2(" +
>         "project_id int," +
>         "_idm bigint," +
>         "ccid string," +
>         "ccid_list array<string>," +
>         "_create_tm bigint," +
>         "_etl_tm timestamp," +
>         "salary decimal(20,4)," +
>         "numbers array<decimal(20,4)>," +
>         "booleans array<boolean>," +
>         "date1 date" +
>         ") with (...)"; {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to