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

Sergey Uttsel updated IGNITE-19403:
-----------------------------------
    Description: 
h3. *Motivation*

A method 
{{DistributionZonesTestUtil#deployWatchesAndUpdateMetaStorageRevision}} is used 
in tests related to a distribution zone manager to increase a meta storage 
applied revision before distribution manager starts. The method breaks 
invariant: zone manager must be started before 
metaStorageManager.deployWatches() is invoked. Need to do proper solution for 
increasing the applied revision.

 

The first approach to fix it is to invoke methods in this order

 
{code:java}
vaultManager.put(new ByteArray("applied_revision"), longToBytes(1)).get();
metaStorageManager.start();
distributionZoneManager.start();
metaStorageManager.deployWatches();
{code}
 

First we put applied_revision. Then start metaStorageManager and 
metaStorageManager. Then deploy watches.

The disadvantage of this method is that th ByteArray("applied_revision") is an 
internal part of the implementation.

 

The second way is a restart all of the components used in the test to simulate 
the node restart. In this case, after the zones manager's restart, the revision 
will be greater than zero.
h3. *Definition of Done*

The {{deployWatchesAndUpdateMetaStorageRevision}} is replaced by proper 
solution. Need to try approach with restart of all components.

  was:
h3. *Motivation*

A method 
{{DistributionZonesTestUtil#deployWatchesAndUpdateMetaStorageRevision}} is used 
in tests related to a distribution zone manager to increase a meta storage 
applied revision before distribution manager starts. The method breaks 
invariant: zone manager must be started before 
metaStorageManager.deployWatches() is invoked. Need to do proper solution for 
increasing the applied revision.
h3. *Definition of Done*

The {{deployWatchesAndUpdateMetaStorageRevision}} is replaced by proper 
solution.


> Watch listeners must be deployed after the zone manager starts
> --------------------------------------------------------------
>
>                 Key: IGNITE-19403
>                 URL: https://issues.apache.org/jira/browse/IGNITE-19403
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Sergey Uttsel
>            Priority: Major
>              Labels: ignite-3
>
> h3. *Motivation*
> A method 
> {{DistributionZonesTestUtil#deployWatchesAndUpdateMetaStorageRevision}} is 
> used in tests related to a distribution zone manager to increase a meta 
> storage applied revision before distribution manager starts. The method 
> breaks invariant: zone manager must be started before 
> metaStorageManager.deployWatches() is invoked. Need to do proper solution for 
> increasing the applied revision.
>  
> The first approach to fix it is to invoke methods in this order
>  
> {code:java}
> vaultManager.put(new ByteArray("applied_revision"), longToBytes(1)).get();
> metaStorageManager.start();
> distributionZoneManager.start();
> metaStorageManager.deployWatches();
> {code}
>  
> First we put applied_revision. Then start metaStorageManager and 
> metaStorageManager. Then deploy watches.
> The disadvantage of this method is that th ByteArray("applied_revision") is 
> an internal part of the implementation.
>  
> The second way is a restart all of the components used in the test to 
> simulate the node restart. In this case, after the zones manager's restart, 
> the revision will be greater than zero.
> h3. *Definition of Done*
> The {{deployWatchesAndUpdateMetaStorageRevision}} is replaced by proper 
> solution. Need to try approach with restart of all components.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to