You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Satish Duggana (Jira)" <ji...@apache.org> on 2021/05/10 11:05:00 UTC

[jira] [Commented] (KAFKA-12757) Move server related common and public classes into separate module(s).

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

Satish Duggana commented on KAFKA-12757:
----------------------------------------

cc [~junrao] [~ijuma]

> Move server related common and public classes into separate module(s).
> ----------------------------------------------------------------------
>
>                 Key: KAFKA-12757
>                 URL: https://issues.apache.org/jira/browse/KAFKA-12757
>             Project: Kafka
>          Issue Type: Improvement
>            Reporter: Satish Duggana
>            Priority: Major
>
> There are two sets of classes that we want to pull out here for server common/api classes.
> 1. All the common classes used by server modules.
>  2. All the public server side classes exposed to users. Some of these classes are storage-api, security, quotas etc.
> Couple of approaches that we can consider here:
> 1. Both sets of classes will be added in server-common module but common classes will have a package prefix as org.apache.kafka.server.common. But public classes will continue to have the existing package names. We will generate javadocs for these public classes.
>  Pros
>  - Users and server modules will be depdent on a single module for both common and public apis.
>  - Both common classes and api classes can be dependent on each other.
> Cons
>  - Not a clean separation between common classes and public classes.
> 2. Common classes used by server modules will be added in server-common module. We will create another module called server-api for server side public classes.
> Pros
>  - It gives a neat separation between common and public classes.
>  - Maintaining the growth of these modules will be easy.
> Cons
>  - We can not have common and api classes to be dependent on each other which will cause circular dependency.
> Pl feel free to add if you want to discuss other approaches in modularizing these classes. 
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)