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

Alexander Lapin updated IGNITE-16750:
-------------------------------------
    Description: 
Currently, there is a public part including Table and IgniteTables that can be 
used to get instances of Table; and a private part represented with TableImpl 
and IgniteTablesInternal that can be used to get instances of TableImpl.

We probably need to decouple the internal and public interfaces so that they 
form different layers.

Maybe we should use InternalTable in the internal code instead of using 
TableImpl?
h4. Upd 1:

Seems that we should use proxies/gateways (something similar to 
GatewayProtectedCacheProxy) that will
 * Separate public and internal public api.
 * Add ability to check whether node is available or stopping.
 * Ease resource cleanup on components/node stop.
 * Permission checks, etc.

  was:
Currently, there is a public part including Table and IgniteTables that can be 
used to get instances of Table; and a private part represented with TableImpl 
and IgniteTablesInternal that can be used to get instances of TableImpl.

We probably need to decouple the internal and public interfaces so that they 
form different layers.

Maybe we should use InternalTable in the internal code instead of using 
TableImpl?


> Improve separation between public and internal interfaces of Table
> ------------------------------------------------------------------
>
>                 Key: IGNITE-16750
>                 URL: https://issues.apache.org/jira/browse/IGNITE-16750
>             Project: Ignite
>          Issue Type: Improvement
>          Components: sql
>            Reporter: Roman Puchkovskiy
>            Priority: Minor
>              Labels: ignite-3
>             Fix For: 3.0.0-alpha5
>
>
> Currently, there is a public part including Table and IgniteTables that can 
> be used to get instances of Table; and a private part represented with 
> TableImpl and IgniteTablesInternal that can be used to get instances of 
> TableImpl.
> We probably need to decouple the internal and public interfaces so that they 
> form different layers.
> Maybe we should use InternalTable in the internal code instead of using 
> TableImpl?
> h4. Upd 1:
> Seems that we should use proxies/gateways (something similar to 
> GatewayProtectedCacheProxy) that will
>  * Separate public and internal public api.
>  * Add ability to check whether node is available or stopping.
>  * Ease resource cleanup on components/node stop.
>  * Permission checks, etc.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to