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

Neil Green updated KAFKA-9611:
------------------------------
    Description: 
I've run into what appears to be undesirable behaviour in a streams app.

I have a KTable produced from a topic. The table contains entries like 
"abc1234/signal1" : 1, "abc1234/signal2" : 3
 The key is "id/signal name" and the value is an int. I want to produce a 
aggregate ktable containing the sum all of the
 signals for a given id.

{{So if source ktable contains:}}

{{+------------------+--+}}
 {{| abc1234/signal1 | 2 |}}
 {{| abc1234/signal2 | 4 |}}
 {{| abc4566/signal1 | 3 |}}
 {{+------------------+--+}}

{{Then the output should contain}}

{{+----------+--+}}
 {{| abc1234 | 6 |}}
 {{| abc4566 | 3 |}}
 {{+----------+--+}}

{{On a change}}

{{+------------------+--+}}
 {{| abc1234/signal1 | 3 |}}
 {{+------------------+--+}}
 {{```}}
 {{I would expect the change}}
 {{```}}
 {{+----------+--+}}
 {{| abc1234 | 7 |}}
 {{+----------+--+}}

{{to be published.}}

In fact there are two changelog entries published

{{+----------+--+}}
 {{| abc1234 | 4 | // This is incorrect. The sum of the signals is never 4.}}
 {{+----------+--+}}

Then

{{+----------+--+}}
 {{| abc1234 | 7 |}}
 {{+----------+--+}}

  was:
I've run into what appears to be strange behaviour in a streams app.

I have a KTable produced from a topic. The table contains entries like 
"abc1234/signal1" : 1, "abc1234/signal2" : 3
The key is "id/signal name" and the value is an int. I want to produce a 
aggregate ktable containing the sum all of the
signals for a given id.

{{So if source ktable contains:}}

{{+-----------------+---+}}
{{| abc1234/signal1 | 2 |}}
{{| abc1234/signal2 | 4 |}}
{{| abc4566/signal1 | 3 |}}
{{+-----------------+---+}}

{{Then the output should contain}}

{{+---------+---+}}
{{| abc1234 | 6 |}}
{{| abc4566 | 3 |}}
{{+---------+---+}}




{{On a change}}

{{+-----------------+---+}}
{{| abc1234/signal1 | 3 |}}
{{+-----------------+---+}}
{{```}}
{{I would expect the change}}
{{```}}
{{+---------+---+}}
{{| abc1234 | 7 |}}
{{+---------+---+}}

{{to be published.}}

In fact there are two changelog entries published

{{+---------+---+}}
{{| abc1234 | 4 | // This is incorrect. The sum of the signals is never 4.}}
{{+---------+---+}}

Then

{{+---------+---+}}
{{| abc1234 | 7 |}}
{{+---------+---+}}


> KGroupedTable.aggregate(...) emits incorrect values
> ---------------------------------------------------
>
>                 Key: KAFKA-9611
>                 URL: https://issues.apache.org/jira/browse/KAFKA-9611
>             Project: Kafka
>          Issue Type: Bug
>          Components: streams
>    Affects Versions: 2.4.0
>            Reporter: Neil Green
>            Priority: Major
>
> I've run into what appears to be undesirable behaviour in a streams app.
> I have a KTable produced from a topic. The table contains entries like 
> "abc1234/signal1" : 1, "abc1234/signal2" : 3
>  The key is "id/signal name" and the value is an int. I want to produce a 
> aggregate ktable containing the sum all of the
>  signals for a given id.
> {{So if source ktable contains:}}
> {{+------------------+--+}}
>  {{| abc1234/signal1 | 2 |}}
>  {{| abc1234/signal2 | 4 |}}
>  {{| abc4566/signal1 | 3 |}}
>  {{+------------------+--+}}
> {{Then the output should contain}}
> {{+----------+--+}}
>  {{| abc1234 | 6 |}}
>  {{| abc4566 | 3 |}}
>  {{+----------+--+}}
> {{On a change}}
> {{+------------------+--+}}
>  {{| abc1234/signal1 | 3 |}}
>  {{+------------------+--+}}
>  {{```}}
>  {{I would expect the change}}
>  {{```}}
>  {{+----------+--+}}
>  {{| abc1234 | 7 |}}
>  {{+----------+--+}}
> {{to be published.}}
> In fact there are two changelog entries published
> {{+----------+--+}}
>  {{| abc1234 | 4 | // This is incorrect. The sum of the signals is never 4.}}
>  {{+----------+--+}}
> Then
> {{+----------+--+}}
>  {{| abc1234 | 7 |}}
>  {{+----------+--+}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to