First, I agree, updating that list would be a good idea. It's likely it
will always be a little divergent from any new additions -- the last update
was probably when the KIP page was originally created, before either
Connect or Streams existed.

However, note that we also document the exact set of public APIs, or at
least try to, in the user-facing javadocs
http://kafka.apache.org/20/javadoc/index.html?overview-summary.html If its
not in there, it likely is not public API.

In the case of Connect, the only public Java APIs are in their own module,
connect-api. Everything in the other connect modules are considered
internal implementation details.

-Ewen


On Fri, Jul 27, 2018 at 7:15 PM Chia-Ping Tsai <chia7...@apache.org> wrote:

> hi Kafka
>
> There is a section[1] listing the packages which have public interfaces.
> However, it doesn't include any connect-related packages. It would be
> better to have a list used to highlight the public interfaces for
> connector. Otherwise, connector user may misuse the internal interface in
> their code base. For example, TopicAdmin[2] is a nice wrap of
> AdminClient[3] so I have applied TopicAdmin in production code. However,
> I'm not sure whether TopicAdmin is a public interface. It implies that I
> should remove it from code base since the SC of TopicAdmin may be broken in
> minor release.
>
> Not familiar with the rule of updating "Kafka Improvement Proposals" so I
> start this thread. All suggestions are welcome!
>
> [1]
> https://cwiki.apache.org/confluence/display/KAFKA/Kafka+Improvement+Proposals#KafkaImprovementProposals-Whatisconsidereda%22majorchange%22thatneedsaKIP
> ?
>
> [2]
> https://github.com/apache/kafka/blob/trunk/connect/runtime/src/main/java/org/apache/kafka/connect/util/TopicAdmin.java
>
> [3]
> https://github.com/apache/kafka/blob/trunk/clients/src/main/java/org/apache/kafka/clients/admin/AdminClient.java
>
> --
> Chia-Ping
>

Reply via email to