[
https://issues.apache.org/jira/browse/IGNITE-19403?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sergey Uttsel resolved IGNITE-19403.
------------------------------------
Assignee: Sergey Uttsel
Resolution: Fixed
> 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: Test
> Reporter: Sergey Uttsel
> Assignee: Sergey Uttsel
> Priority: Major
> Labels: ignite-3, tech-debt
>
> 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)