You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Sagar Rao (Jira)" <ji...@apache.org> on 2021/04/14 05:29:00 UTC

[jira] [Comment Edited] (KAFKA-12313) Consider deprecating the default.windowed.serde.inner.class configs

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

Sagar Rao edited comment on KAFKA-12313 at 4/14/21, 5:28 AM:
-------------------------------------------------------------

hey [~ableegoldman], i have started working on the KIP [https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=177047930] and one of the things noticed is that the 2 deprecated configs in StreamsConfig are also used in SessionWindowedDeserialiser. The KIP doesn't talk about that class though and we didn't discuss it here or in the discuss thread. I believe, I will need to include SessionWindowedDeserialiser class as well for my changes, is that correct? Should I modify the KIP accordingly in that case?

 

The other part which is missing in the KiP is that the 2 deprecated configs are also being used in TimeWindowedSerialiser and SessionWindowedSerialiser. In that case, should we add a window.inner.class.serialiser config as well?


was (Author: sagarrao):
hey [~ableegoldman], i have started working on the KIP [https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=177047930] and one of the things noticed is that the 2 deprecated configs in StreamsConfig are also used in SessionWindowedDeserialiser. The KIP doesn't talk about that class though and we didn't discuss it here or in the discuss thread. I believe, I will need to include SessionWindowedDeserialiser class as well for my changes, is that correct? Should I modify the KIP accordingly in that case?

> Consider deprecating the default.windowed.serde.inner.class configs
> -------------------------------------------------------------------
>
>                 Key: KAFKA-12313
>                 URL: https://issues.apache.org/jira/browse/KAFKA-12313
>             Project: Kafka
>          Issue Type: Improvement
>          Components: streams
>            Reporter: A. Sophie Blee-Goldman
>            Assignee: Sagar Rao
>            Priority: Major
>              Labels: needs-kip
>             Fix For: 3.0.0
>
>
> During the discussion of KIP-659 we discussed whether it made sense to have a "default" class for the serdes of windowed inner classes across Streams. Using these configs instead of specifying an actual Serde object can lead to subtle bugs, since the WindowedDeserializer requires a windowSize in addition to the inner class. If the default constructor is invoked, as it will be when falling back on the config, this windowSize defaults to MAX_VALUE. 
> If the downstream program doesn't care about the window end time in the output, then this can go unnoticed and technically there is no problem. But if anything does depend on the end time, or the user just wants to manually read the output for testing purposes, then the MAX_VALUE will result in a garbage timestamp.
> We should consider whether the convenience of specifying a config instead of instantiating a Serde in each operator is really worth the risk of a user accidentally failing to specify a windowSize



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