Vladislav Pyatkov created IGNITE-18505:
------------------------------------------
Summary: 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
*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)