You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Wang Qilong (Jira)" <ji...@apache.org> on 2024/12/12 13:38:00 UTC

[jira] [Created] (FLINK-36897) Error in calling processElement for AbstractAsynchronous StateStreamOperator

Wang Qilong created FLINK-36897:
-----------------------------------

             Summary: Error in calling processElement for AbstractAsynchronous StateStreamOperator
                 Key: FLINK-36897
                 URL: https://issues.apache.org/jira/browse/FLINK-36897
             Project: Flink
          Issue Type: Bug
          Components: Table SQL / Runtime
    Affects Versions: 2.0.0
            Reporter: Wang Qilong


When I created the AbstractAsynchronous StateMapBundleOperator and inherited it from the AbstractAsynchronous StateStreamOperator, there was an error in the data passed into the element by the processElement of the AbstractAsynchronous StateMapBundleOperator itself

The inheritance relationship between asynchronous synchronization and two classes is:
AbstractMapBundleOperator->AbstractStreamOperator
AbstractAsyncStateMapBundleOperator->AbstractAsyncStateStreamOperator->AbstractStreamOperator
The reason for creating this class is to enable KeyedMapBundleOperator to support asynchronous running capability

Example of incorrect information: For example, the original data format was:
val data = new mutable.MutableList[(String, Long)]
data.+=(("x", 1L))
data.+=(("x", 2L))
data.+=(("x", 3L))
data.+=(("y", 1L))
data.+=(("y", 2L))
data.+=(("z", 3L))
So the result of data transmission becomes:
val data = new mutable.MutableList[(String, Long)]
data.+=(("x", 1L))
data.+=(("x", 2L))
data.+=(("x", 3L))
data.+=(("x", 1L))
data.+=(("x", 2L))
data.+=(("x", 3L))

How to reproduce:
Run testOverloadedAccumulator in SQL/AggregateITCase.jva in [1]

 

[1]  https://github.com/Au-Miner/flink/tree/FLINK-36882



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