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

Reply via email to