[ 
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)

Reply via email to