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

Roman Puchkovskiy updated IGNITE-26235:
---------------------------------------
    Component/s: network ai3

> Separate public ClusterNode from internal ClusterNode
> -----------------------------------------------------
>
>                 Key: IGNITE-26235
>                 URL: https://issues.apache.org/jira/browse/IGNITE-26235
>             Project: Ignite
>          Issue Type: Improvement
>          Components: network ai3
>            Reporter: Roman Puchkovskiy
>            Assignee: Roman Puchkovskiy
>            Priority: Major
>              Labels: ignite-3
>
> Currently, there is just one ClusterNode interface in the project. It's 
> located in the public API, but it's also widely used in our internal code.
> Second use (in our code) requires the ClusterNode to have methods that are 
> useful for our internal needs, but not needed for an API object. Ideally, the 
> latter should be a small DTO only having exactly the attributes it needs for 
> the API. This is already violated: for instance, it exposes node metadata 
> which seems to be too much for the API.
> The idea is that we introduce another interface (InternalClusterNode) and use 
> it instead of ClusterNode everywhere except for the API. This will allow us 
> to:
>  # extend the internal interface with attributes needed only internally
>  # expose the node metadata in a proper way (TBD) and deprecate current 
> nodeMetadata() method for removal



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

Reply via email to