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

Uladzislau Blok updated KAFKA-20082:
------------------------------------
    Description: 
I found a leak of internal implementation details in the api module. We’re 
currently exposing {{InternalFixedKeyRecordFactory}} with a "do not use" doc 
warning, which isn't ideal.

I propose exposing only the interface and moving the implementation/constructor 
to the internals module with package-private access. We can then remove the 
factory and refactor the record similarly, providing a public API to create it 
from scratch.

POC: https://github.com/apache/kafka/pull/21304

  was:
I found a leak of internal implementation details in the api module. We’re 
currently exposing {{InternalFixedKeyRecordFactory}} with a "do not use" doc 
warning, which isn't ideal.

I propose exposing only the interface and moving the implementation/constructor 
to the internals module with package-private access. We can then remove the 
factory and refactor the record similarly, providing a public API to create it 
from scratch.


> Hide record implementation from user
> ------------------------------------
>
>                 Key: KAFKA-20082
>                 URL: https://issues.apache.org/jira/browse/KAFKA-20082
>             Project: Kafka
>          Issue Type: Improvement
>          Components: streams
>            Reporter: Uladzislau Blok
>            Assignee: Uladzislau Blok
>            Priority: Minor
>
> I found a leak of internal implementation details in the api module. We’re 
> currently exposing {{InternalFixedKeyRecordFactory}} with a "do not use" doc 
> warning, which isn't ideal.
> I propose exposing only the interface and moving the 
> implementation/constructor to the internals module with package-private 
> access. We can then remove the factory and refactor the record similarly, 
> providing a public API to create it from scratch.
> POC: https://github.com/apache/kafka/pull/21304



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

Reply via email to