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)

Reply via email to