[
https://issues.apache.org/jira/browse/IGNITE-19606?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vyacheslav Koptilin reassigned IGNITE-19606:
--------------------------------------------
Assignee: Vladislav Pyatkov (was: Alexander Lapin)
> Linearize metaStorageManager.deployWatches and metaStorageManager.start()
> -------------------------------------------------------------------------
>
> Key: IGNITE-19606
> URL: https://issues.apache.org/jira/browse/IGNITE-19606
> Project: Ignite
> Issue Type: Bug
> Reporter: Alexander Lapin
> Assignee: Vladislav Pyatkov
> Priority: Major
> Labels: ignite-3
>
> h3. Motivation
> Occurred that in some tests deployWatches was called on not started
> metaStorageManager which leads to failures and unpredictable artifacts. In
> order to prevent such possibility it's required to linearize it though
> metaStorageSvcFut.
> h3. Definition of Done
> Calling deployWatches will chain with metaStorageManager.start().
> h3. Implementation Notes
> * I don't think that it's worth to prepare some general solution for all
> IgniteComponents that will prevent calling their methods before start, for
> now, it's only about MetaStorage and deployWatches.
> * MetaStorageManager has two implementations MetaStorageManagerImpl and
> StandaloneMetaStorageManager, so we should have two tests for a given logic.
> * Linearization itself might be implemented though
> `metaStorageSvcFut.thenRun(() ->
> \{storage.startWatches(this::onRevisionApplied);});`
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)