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

Ismael Juma edited comment on KAFKA-14524 at 1/4/23 11:47 AM:
--------------------------------------------------------------

[~mdedetrich-aiven] Please check KAFKA-14470 where this is currently in 
progress for the storage layer and where very quick progress was achieved in a 
short period of time. Introducing scala (along with the scala version suffixes) 
to each of the new modules will make things more complicated than doing both 
changes at once.

I think it makes sense to complete that module and evaluate if any of the 
concerns that have been raised here are real or theoretical.


was (Author: ijuma):
[~mdedetrich-aiven] Please check KAFKA-14470 where this is currently in 
progress for the storage layer and where very quick progress was achieved in a 
short period of time. Introducing scala (along with the scala version suffixes) 
to each of the new modules will make things more complicated than doing both 
changes at once.

> Modularize `core` monolith
> --------------------------
>
>                 Key: KAFKA-14524
>                 URL: https://issues.apache.org/jira/browse/KAFKA-14524
>             Project: Kafka
>          Issue Type: Improvement
>            Reporter: Ismael Juma
>            Priority: Major
>
> The `core` module has grown too large and it's time to split it into multiple 
> modules. A much slimmer `core` module will remain in the end.
> Evidence of `core` growing too large is that it takes 1m10s to compile the 
> main code and tests and it takes hours to run all the tests sequentially.
> As part of this effort, we should rewrite the Scala code in Java to reduce 
> developer friction, reduce compilation time and simplify deployment (i.e. we 
> can remove the scala version suffix from the module name). Scala may have a 
> number of advantages over Java 8 (minimum version we support now) and Java 11 
> (minimum version we will support in Kafka 4.0), but a mixture of Scala and 
> Java (as we have now) is more complex than just Java.
> Another benefit is that code dependencies will be strictly enforced, which 
> will hopefully help ensure better abstractions.
> This pattern was started with the `tools` (but not completed), `metadata` and 
> `raft` modules and we have (when this ticket was filed) a couple more in 
> progress: `group-coordinator` and `storage`.
> This is an umbrella ticket and it will link to each ticket related to this 
> goal.



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

Reply via email to