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)

Reply via email to