You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Alexander Lapin (Jira)" <ji...@apache.org> on 2023/05/31 09:42:00 UTC

[jira] [Assigned] (IGNITE-19606) Assert that it's not possible to deployWatches before metaStorageManager.start()

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

Alexander Lapin reassigned IGNITE-19606:
----------------------------------------

    Assignee: Alexander Lapin

> Assert that it's not possible to deployWatches before 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)