[
https://issues.apache.org/jira/browse/IGNITE-28633?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Viacheslav Blinov updated IGNITE-28633:
---------------------------------------
Summary: Delete TableManager and migrate external consumers to
IgniteTablesInternal (was: Decompose TableManager into IgniteTablesImpl +
independent sub-components)
> Delete TableManager and migrate external consumers to IgniteTablesInternal
> --------------------------------------------------------------------------
>
> 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 https://issues.apache.org/jira/browse/IGNITE-28632 decouples
> 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)