ableegoldman commented on code in PR #14360: URL: https://github.com/apache/kafka/pull/14360#discussion_r1465626991
########## docs/streams/developer-guide/config-streams.html: ########## @@ -1010,6 +1016,18 @@ <h4><a class="toc-backref" href="#id31">topology.optimization</a><a class="heade </p> </div></blockquote> </div> + <div class="section" id="windowed.inner.class.serde"> + <h4><a class="toc-backref" href="#id31">windowed.inner.class.serde</a><a class="headerlink" href="#windowed.inner.class.serde" title="Permalink to this headline"></a></h4> + <blockquote> + <div> + <p> + Serde for the inner class of a windowed record. Must implement the org.apache.kafka.common.serialization.Serde interface. + </p> + <p> + Note that setting this config in KafkaStreams application would result in an error as it is meant to be used only from Plain consumer client. Review Comment: Bear with me here because it's kind of a long story in full and I only half remember it...and also this statement is only half true. A more accurate statement would be something like this: "Note that this config is only used by plain consumer/producer clients that set a windowed de/serializer type via configs. For Kafka Streams applications that deal with windowed types you must pass in the inner serde type when you instantiate the windowed serde object for your topology" In other words, there's no concept of a "default windowed serde" type in Streams because you always have to pass in the actual Serde object, and need to pass in the window size and inner serde type at that time. The same can also be done for plain producer/consumer clients but someone pointed out that the console clients have to be configured via properties, which means they can only invoke the default constructor based on the class name passed in for the key/value de/serializer configs. Which meant we needed to add the window size and inner serde type as configs that could be used to configure a windowed Serde that was instantiated via default constructor I guess we should update the docs string in StreamsConfig as well. I assume this error slipped in because of the window.size config, which _is_ only needed for the consumer client (since the producer client throws away the window size when encoding a windowed type). But both producer and consumer need to know the inner serde type -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org