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

Reply via email to