[
https://issues.apache.org/jira/browse/IGNITE-19606?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alexander Lapin updated IGNITE-19606:
-------------------------------------
Description:
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);});`
was:
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.
> 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
> 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)