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

Viacheslav Blinov updated IGNITE-28632:
---------------------------------------
    Description: 
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.

  was:Move sub-object construction out of TableManager and into IgniteImpl.


> Decouple TableManager sibling lifecycles
> ----------------------------------------
>
>                 Key: IGNITE-28632
>                 URL: https://issues.apache.org/jira/browse/IGNITE-28632
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Viacheslav Blinov
>            Assignee: Viacheslav Blinov
>            Priority: Major
>              Labels: ignite-3
>
> 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