You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Roman Puchkovskiy (Jira)" <ji...@apache.org> on 2023/01/16 07:12:00 UTC
[jira] [Assigned] (IGNITE-18505) Thread pool for components start
[ https://issues.apache.org/jira/browse/IGNITE-18505?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Roman Puchkovskiy reassigned IGNITE-18505:
------------------------------------------
Assignee: Roman Puchkovskiy
> Thread pool for components start
> --------------------------------
>
> Key: IGNITE-18505
> URL: https://issues.apache.org/jira/browse/IGNITE-18505
> Project: Ignite
> Issue Type: Improvement
> Reporter: Vladislav Pyatkov
> Assignee: Roman Puchkovskiy
> Priority: Major
> Labels: ignite-3
>
> *Motivation*
> The most components are started in asynchronous manner to avoid hold CMG threads too long:
> {code}
> // using the default executor to avoid blocking the CMG Manager threads
> .thenRunAsync(() -> {
> LOG.info("Join complete, starting the remaining components");
> // Start all other components after the join request has completed and the node has been validated.
> try {
> lifecycleManager.startComponents(
> metaStorageMgr,
> clusterCfgMgr,
> metricManager,
> distributionZoneManager,
> computeComponent,
> replicaMgr,
> txManager,
> baselineMgr,
> dataStorageMgr,
> schemaManager,
> volatileLogStorageFactoryCreator,
> outgoingSnapshotsManager,
> distributedTblMgr,
> indexManager,
> qryEngine,
> clientHandlerModule
> );
> } catch (NodeStoppingException e) {
> throw new CompletionException(e);
> }
> })
> {code}
> But the default treads pool is not a place for run critical code (the pool can be used by client application).
> *Divination of done*
> All components start in node internal thread pool.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)