You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Sophie Blee-Goldman (Jira)" <ji...@apache.org> on 2020/09/01 03:34:00 UTC

[jira] [Commented] (KAFKA-10366) TimeWindowedDeserializer doesn't allow users to set a custom window size

    [ https://issues.apache.org/jira/browse/KAFKA-10366?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17188115#comment-17188115 ] 

Sophie Blee-Goldman commented on KAFKA-10366:
---------------------------------------------

Yeah thanks for tracking that down [~mjsax]. I think we can repurpose/reinterpret this ticket to track fixing the Streams tests/test utils. If we have to add a lot of overloads throughout the call hierarchy between the test and the actual Consumer creation, maybe we can save some work by just adding a ConsumerParameters class (better names welcome) and replacing the ConsumerConfig/Properties parameter in all the methods instead. Then we can just call the appropriate Consumer constructor based on whether the deserializers have been set in the passed in. ConsumerParameters 

> TimeWindowedDeserializer doesn't allow users to set a custom window size
> ------------------------------------------------------------------------
>
>                 Key: KAFKA-10366
>                 URL: https://issues.apache.org/jira/browse/KAFKA-10366
>             Project: Kafka
>          Issue Type: Bug
>            Reporter: Leah Thomas
>            Assignee: Leah Thomas
>            Priority: Major
>              Labels: streams
>
> Related to [KAFKA-4468|https://issues.apache.org/jira/browse/KAFKA-4468], in timeWindowedDeserializer Long.MAX_VALUE is used as _windowSize_ for any deserializer that uses the default constructor. While streams apps can pass in a window size in serdes or while creating a timeWindowedDeserializer, the deserializer that is actually used in processing the messages is created by the Kafka consumer, without passing in the set windowSize. The deserializer the consumer creates uses the configs, but as there is no config for windowSize, the window size is always default.
> See _KStreamAggregationIntegrationTest #ShouldReduceWindowed()_ as an example of this issue. Despite passing in the windowSize to both the serdes and the timeWindowedDeserializer, the window size is set to Long.MAX_VALUE. 



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