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

Ismael Juma commented on KAFKA-17939:
-------------------------------------

[~mjsax] The approach for public APIs in Kafka was decided more than a decade 
ago - it was before I joined the project.

There have been many discussions about improvements (using annotations, 
internals packages, both, etc.), but no-one has made it better yet. It is a 
well known fact though and it has been brought up in many KIPs, PRs, etc.

With regards to tooling, it's actually pretty easy to expose a class with 
`internals` in the package name since imports are far away from the method 
signature (I've seen it happen before). That's why I think tooling is actually 
really important independently of the approach we use.

> Kafka Streams API exposes org.apache.kafka.common.utils.Bytes which is not 
> part of the public API
> -------------------------------------------------------------------------------------------------
>
>                 Key: KAFKA-17939
>                 URL: https://issues.apache.org/jira/browse/KAFKA-17939
>             Project: Kafka
>          Issue Type: Task
>          Components: streams
>            Reporter: Mickael Maison
>            Priority: Major
>              Labels: needs-kip
>
> Quite a few public API classes/interfaces in org.apache.kafka.streams and 
> org.apache.kafka.streams.kstreams expose the 
> org.apache.kafka.common.utils.Bytes class. However Bytes is not part of the 
> public API.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to