[ 
https://issues.apache.org/jira/browse/KAFKA-20958?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chia-Ping Tsai updated KAFKA-20958:
-----------------------------------
    Labels: need-kip  (was: )

> Introduce internal accessor pattern to encapsulate cross-package APIs
> ---------------------------------------------------------------------
>
>                 Key: KAFKA-20958
>                 URL: https://issues.apache.org/jira/browse/KAFKA-20958
>             Project: Kafka
>          Issue Type: Improvement
>            Reporter: Chia-Ping Tsai
>            Assignee: Chia-Ping Tsai
>            Priority: Critical
>              Labels: need-kip
>
> Currently, to allow cross-package instantiation or state access for internal 
> Kafka components, we either:
> # Leak internal classes (like Time) in public constructors.
> # Expose properties as protected.
> We should introduce the Internal Accessor / Factory Pattern (using 
> package-private scopes and `@InterfaceAudience.Private` helper classes) to 
> cleanly encapsulate these. 
> Subsequently, we will deprecate the leaked public constructors/methods to 
> ensure we can remove them in 5.0.
> related discussion:
> https://lists.apache.org/thread/1kmyqody36dhnzj5ph858zsfpl4qhm7l
> https://github.com/apache/kafka/pull/21337#discussion_r3574009798



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

Reply via email to