[
https://issues.apache.org/jira/browse/KAFKA-20313?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18065959#comment-18065959
]
Siddhartha Devineni commented on KAFKA-20313:
---------------------------------------------
Hi Matthias,
I investigated the scope and found that `serializeBaseKey()` is exposed through
`SessionWindowedSerializer` and `TimeWindowedSerializer`.
It is called in `WindowedStreamPartitioner
(org.apache.kafka.streams.kstream.internals)` and `WindowedSerdesTest`.
The method is leaked through public classes but only used internally and this
looks similar to KIP-1247 (Make Bytes part of public API)
[https://cwiki.apache.org/confluence/display/KAFKA/KIP-1247%3A+Make+Bytes+utils+class+part+of+the+public+API]
I would like to work on this using a similar approach that you suggested
previously in KIP-1247:
* Deprecate serializeBaseKey() in public serializers
* Create helper in internals package
* Update internal references
* Remove in version 5.0
Would you like me to take this up and draft a KIP?
Please let me know if you have any other approach in mind.
Thank you.
> Cleanup "leaking" internal interface `WindowedSerializer`
> ---------------------------------------------------------
>
> Key: KAFKA-20313
> URL: https://issues.apache.org/jira/browse/KAFKA-20313
> Project: Kafka
> Issue Type: Improvement
> Components: streams
> Reporter: Matthias J. Sax
> Priority: Minor
> Labels: needs-kip
>
> Kafka Streams has an internal helper interface `WindowedSerializer`, which
> the two public classes `TimeWindowedSerializer` and
> `SessionWindowedSerializer` implement.
> This leaks the internal method `serializeBaseKey` into public API. We should
> try to clean this up.
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)