Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • The number in front of the component's name shows an order in which components are initialized. So the very first component to be initialized during node startup is Vault. There are few components that should be instantiated before node start-up: cli and ignite-runner, however they are out of the scope of the node startup process.
  • Arrows show direct method calls. For example Affinity component could retrieve baseline from Baseline component using some sort of baseline() method. In order to decrease mess a bit, two explicit groups of arrows are introduced:
    • Green Arrows show direct method calls of to Meta Storage (MS) Component.
    • Blue Arrows show direct method calls of to Configuration Component.
  • There's also an upwards communication flow through the listeners/watches mechanism. However, within the scope of alpha 2 release, it's only possible to listen to Vault, Meta Storage, and Configuration updates.

...

ManagerDepends On
Used By
VaultManager-
  • LocalConfigurationManager in order to store local configuration and update it consistently through listeners.
  • MetastorageManager in order to commit processed DMS MS watch notifications atomically with corresponding applied revision.
LocalConfigurationManagerVaultManager
  • NetworkManager in order to bootstrap itself with network configuration including sort of IPFinder and handle corresponding configuration changes.
  • MetaStorageManager in order to handle meta storage group changes.
  • ConfigurationManager indirectly through LocalConfigurationStorage for the purposes of handling local configuration changes.

...

Code Block
languagejava
titleMetaStorage Manager and Configuration Manager
// MetaStorage Component startup.
MetaStorageManager metaStorageMgr = new MetaStorageManager(
	netMember,
    raftMgr,
    locConfigurationMgr
);

// Here distirbuteddistributed configuraion keys are registered.
configurationStorages.add(new DistributedConfigurationStorage(metaStorageMgr));


// Start configuration manager.
ConfigurationManager configurationMgr = new ConfigurationManager(rootKeys, configurationStorages);

...

Code Block
languagejava
titleDeploy registered watches and create IgniteImpl
// Deploy all resisted watches cause all components are ready and have registered their listeners.
metaStorageMgr.deployWatches();

return new IgniteImpl(configurationMgr, distributedTblMgr);

...

Component flow

In general from some point of view node is a collaboration of components mentioned above. In order to satisfy needs of:

...