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

A. Sophie Blee-Goldman commented on KAFKA-12313:
------------------------------------------------

> Having said that, the user should still need to pass it in the DSL right?

Depends on what you mean by "it" :P

The rule I'm thinking of is this: 
# For the console-consumer, you have to pass in both parameters via the 
configs. 
# For any other plain consumer client, you can pass them in as configs OR pass 
the parameters to the TimeWindowedDeserializer construct, and then pass that 
object to the consumer. I guess it doesn't hurt if a user supplies BOTH the 
configs and an actual Deserializer, as long as the parameters match
# For use in Kafka Streams (such as the DSL), you must supply the parameters by 
constructing a TimeWindowedSerde and passing that in as a parameter to any 
relevant DSL operators

How does that sound?

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

Reply via email to