[
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)