[
https://issues.apache.org/jira/browse/FLINK-38539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18031413#comment-18031413
]
Robert Metzger commented on FLINK-38539:
----------------------------------------
This query also seems to be affected
{code:java}
INSERT INTO SinkTable
SELECT
`user_id`,
`timestamp`,
AVG(`record_id`) OVER w AS avg_record_id,
AVG(`cat_id`) OVER w AS avg_cat_id,
`group_id`,
CAST(`payload` AS VARCHAR)
FROM SourceTable
WINDOW w AS (PARTITION BY `user_id`
ORDER BY `ts`
ROWS BETWEEN 100 PRECEDING AND CURRENT ROW)
{code}
It generally seems to be a bug in the memory state backend.
> IndexOutOfBoundsException in AbstractSliceSyncStateWindowAggProcessor /
> AbstractBytesMultiMap with memory state backend
> -----------------------------------------------------------------------------------------------------------------------
>
> Key: FLINK-38539
> URL: https://issues.apache.org/jira/browse/FLINK-38539
> Project: Flink
> Issue Type: Bug
> Components: Table SQL / Runtime
> Affects Versions: 2.1.0, 1.20.3
> Reporter: Robert Metzger
> Priority: Critical
>
> I'm running this Flink SQL query:
> {code:java}
> INSERT INTO SinkTable
> SELECT
> `user_id`,
> COUNT(*) AS `event_count`,
> ROW(
> LAST_VALUE(`timestamp`),
> LAST_VALUE(`record_id`),
> LAST_VALUE(`cat_id`),
> LAST_VALUE(`group_id`),
> LAST_VALUE(CAST(`payload` AS VARCHAR))
> ) AS `last_record`
> FROM TABLE(
> TUMBLE(TABLE SourceTable, DESCRIPTOR(proc_time), INTERVAL '5' MINUTES)
> )
> GROUP BY `user_id`, `window_start`, `window_end`;
> {code}
> Which always fails with
> {code:java}
> java.lang.IndexOutOfBoundsException: Index -65534 out of bounds for length
> 65655
> at java.base/jdk.internal.util.Preconditions.outOfBounds(Unknown Source)
> at
> java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Unknown
> Source)
> at java.base/jdk.internal.util.Preconditions.checkIndex(Unknown Source)
> at java.base/java.util.Objects.checkIndex(Unknown Source)
> at java.base/java.util.ArrayList.get(Unknown Source)
> at
> org.apache.flink.runtime.io.disk.RandomAccessInputView.setReadPosition(RandomAccessInputView.java:65)
> at
> org.apache.flink.table.runtime.util.collections.binary.AbstractBytesMultiMap$RecordArea.updateValuePointer(AbstractBytesMultiMap.java:329)
> at
> org.apache.flink.table.runtime.util.collections.binary.AbstractBytesMultiMap$RecordArea.updateValuePointerInValueArea(AbstractBytesMultiMap.java:323)
> at
> org.apache.flink.table.runtime.util.collections.binary.AbstractBytesMultiMap.append(AbstractBytesMultiMap.java:155)
> at
> org.apache.flink.table.runtime.operators.aggregate.window.buffers.RecordsWindowBuffer.addElement(RecordsWindowBuffer.java:89)
> at
> org.apache.flink.table.runtime.operators.aggregate.window.processors.AbstractSliceSyncStateWindowAggProcessor.processElement(AbstractSliceSyncStateWindowAggProcessor.java:123)
> at
> org.apache.flink.table.runtime.operators.window.tvf.common.WindowAggOperator.processElement(WindowAggOperator.java:219)
> at
> org.apache.flink.streaming.runtime.io.RecordProcessorUtils.lambda$getRecordProcessor$0(RecordProcessorUtils.java:64)
> at
> org.apache.flink.streaming.runtime.tasks.OneInputStreamTask$StreamTaskNetworkOutput.emitRecord(OneInputStreamTask.java:245)
> at
> org.apache.flink.streaming.runtime.io.AbstractStreamTaskNetworkInput.processElement(AbstractStreamTaskNetworkInput.java:206)
> at
> org.apache.flink.streaming.runtime.io.AbstractStreamTaskNetworkInput.emitNext(AbstractStreamTaskNetworkInput.java:163)
> at
> org.apache.flink.streaming.runtime.io.StreamOneInputProcessor.processInput(StreamOneInputProcessor.java:65)
> at
> org.apache.flink.streaming.runtime.tasks.StreamTask.processInput(StreamTask.java:638)
> at
> org.apache.flink.streaming.runtime.tasks.mailbox.MailboxProcessor.runMailboxLoop(MailboxProcessor.java:231)
> at
> org.apache.flink.streaming.runtime.tasks.StreamTask.runMailboxLoop(StreamTask.java:980)
> at
> org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:917)
> at
> org.apache.flink.runtime.taskmanager.Task.runWithSystemExitMonitoring(Task.java:963)
> at
> org.apache.flink.runtime.taskmanager.Task.restoreAndInvoke(Task.java:942)
> at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:756)
> at org.apache.flink.runtime.taskmanager.Task.run(Task.java:568)
> at java.base/java.lang.Thread.run(Unknown Source)
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)