You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vyacheslav Koptilin (Jira)" <ji...@apache.org> on 2023/04/21 15:08:00 UTC
[jira] [Resolved] (IGNITE-19104) Late logicalTopology initialization in DistributionZoneManager
[ https://issues.apache.org/jira/browse/IGNITE-19104?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vyacheslav Koptilin resolved IGNITE-19104.
------------------------------------------
Fix Version/s: (was: 3.0.0-beta2)
Resolution: Duplicate
This issue was resolved under IGNITE-18756
> Late logicalTopology initialization in DistributionZoneManager
> --------------------------------------------------------------
>
> Key: IGNITE-19104
> URL: https://issues.apache.org/jira/browse/IGNITE-19104
> Project: Ignite
> Issue Type: Bug
> Reporter: Andrey Mashenkov
> Priority: Major
> Labels: ignite-3
>
> DistributionZoneManager run next methods on start
> {code:java}
> initDataNodesFromVaultManager();
> initLogicalTopologyAndVersionInMetaStorageOnStart();
> {code}
> The first method gets logicalTopology from Vault and try to put it into MetaStorage.
> The second one gets logicalTopology from CMG and try to put it into MetaStorage.
> Both methods actually asynchronous, because Vault.get() and TopologyService.logicalTopologyOnLeader() are async.
> There are 2 issues:
> * these methods may run concurrently in separate threads
> * we unconditionally rewrite local volatile field 'logicalTopology' in initDataNodesFromVaultManager()
> Thus, we may see initial value (empty topology) after DistributionZoneManager.start() finish.
> Also, seems, there is a chance to see stale value from Vault, however a new value was got from config, then rewritten by stale value.
> DistributionZoneManagerConfigurationChangesTest passes, because test Metastorage initialization happens before the DistributionZoneManagerConfigurationChangesTest starts (in reality, they start in different order),
> and because test initialization seems a bit slower than DistributionZoneManagerConfigurationChangesTest.start().
--
This message was sent by Atlassian Jira
(v8.20.10#820010)