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

Viacheslav Blinov updated IGNITE-28633:
---------------------------------------
    Description: 
Ticket 1 decoupled sub-component lifecycles from TableManager's busyLock. The 
remaining barrier to fully completing GG-47856 ("move sub-object construction 
out of
  TableManager into IgniteImpl") is shared state: TableRegistry and the 3 
IncrementalVersionedValues are mutated by multiple sub-components 
(TableLifecycleHandler,
  TableZoneCoordinator, TableDestructionCoordinator) but happen to live inside 
TableManager because TableManager came first historically. They are not really
  TableManager's private state — they are the table-management module's shared 
state.

  TableManager itself implements IgniteTablesInternal (16-method public API). 
That facade responsibility is unrelated to TableManager's "manager of 
sub-components"
  responsibility.

  Goal

  Extract the public-API facade and shared state into a slim IgniteTablesImpl. 
Move recovery to TableLifecycleHandler. Convert PartitionReplicatorNodeRecovery 
to a
  proper IgniteComponent. Hoist all sub-component construction to IgniteImpl.

> Decompose TableManager into IgniteTablesImpl + independent sub-components
> -------------------------------------------------------------------------
>
>                 Key: IGNITE-28633
>                 URL: https://issues.apache.org/jira/browse/IGNITE-28633
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Viacheslav Blinov
>            Assignee: Viacheslav Blinov
>            Priority: Major
>              Labels: ignite-3
>
> Ticket 1 decoupled sub-component lifecycles from TableManager's busyLock. The 
> remaining barrier to fully completing GG-47856 ("move sub-object construction 
> out of
>   TableManager into IgniteImpl") is shared state: TableRegistry and the 3 
> IncrementalVersionedValues are mutated by multiple sub-components 
> (TableLifecycleHandler,
>   TableZoneCoordinator, TableDestructionCoordinator) but happen to live 
> inside TableManager because TableManager came first historically. They are 
> not really
>   TableManager's private state — they are the table-management module's 
> shared state.
>   TableManager itself implements IgniteTablesInternal (16-method public API). 
> That facade responsibility is unrelated to TableManager's "manager of 
> sub-components"
>   responsibility.
>   Goal
>   Extract the public-API facade and shared state into a slim 
> IgniteTablesImpl. Move recovery to TableLifecycleHandler. Convert 
> PartitionReplicatorNodeRecovery to a
>   proper IgniteComponent. Hoist all sub-component construction to IgniteImpl.



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

Reply via email to