Viacheslav Blinov created IGNITE-28633:
------------------------------------------
Summary: 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
The earlier extracts in this epic (IGNITE-28006, IGNITE-28007, IGNITE-28008,
IGNITE-28096, GG-47854, GG-47855) split sub-components out of TableManager but
kept them sharing TableManager's IgniteSpinBusyLock for simplicity of the step
accuracy judjement.
SecondaryZoneManager has no start/stop of its own; TableZoneCoordinator has
package-private start/stop; both rely on TableManager's busyLock.block() to
gate their work during shutdown.
This is a design smell: extracted classes never acquired a proper
IgniteComponent lifecycle. It also blocks completion of GG-47856 (move
construction out of TableManager) because the shared lock prevents external
construction.
Goal:
Introduce a reusable lifecycle base class and convert TableManager's
busyLock-coupled siblings to use it, eliminating the shared lock.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)