[ 
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)

Reply via email to