[ 
https://issues.apache.org/jira/browse/IGNITE-19606?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17733078#comment-17733078
 ] 

Vladislav Pyatkov commented on IGNITE-19606:
--------------------------------------------

Merged f5f2c658273efaf98b5df156690f3b1afe10876d

> 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
>          Time Spent: 7.5h
>  Remaining Estimate: 0h
>
> 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)

Reply via email to