Spongebob created FLINK-37418:
---------------------------------
Summary: 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
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}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)