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

Alexander Lapin updated IGNITE-19606:
-------------------------------------
    Summary: Linearize metaStorageManager.deployWatches and 
metaStorageManager.start()  (was: Assert that it's not possible to 
deployWatches before metaStorageManager.start())

> Linearize metaStorageManager.deployWatches and metaStorageManager.start()
> -------------------------------------------------------------------------
>
>                 Key: IGNITE-19606
>                 URL: https://issues.apache.org/jira/browse/IGNITE-19606
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Alexander Lapin
>            Assignee: Alexander Lapin
>            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 add corresponding 
> assertion in deployWatches.
> h3. Definition of Done
> Calling deployWatches on not started meta storage manager will result in an 
> AssertionException.
> 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 given assertion.
>  * Assertion 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