Mirza Aliev created IGNITE-22119:
------------------------------------

             Summary: Fix start of partial nodes from ItIgniteNodeRestartTest 
and ItIgniteDistributionZoneManagerNodeRestartTest
                 Key: IGNITE-22119
                 URL: https://issues.apache.org/jira/browse/IGNITE-22119
             Project: Ignite
          Issue Type: Improvement
            Reporter: Mirza Aliev


h3.  Motivation

After https://issues.apache.org/jira/browse/IGNITE-22071 is implemented, there 
is a couple of places where we explicitly start components for the test 
purposes, so node could start only needed components. In that code, we have 
some common pattern like 
{code:java}
for (IgniteComponent component : otherComponents) {
    component.start();

    components.add(component);
} {code}
In the review phase of https://issues.apache.org/jira/browse/IGNITE-22071 it 
was proposed to wait here for component to be started.


The problems is that in the common node start you have to call 
{{{}metaStorageMgr.notifyRevisionUpdateListenerOnStart(){}}}, so some 
components (like {{DistributionZoneManager }}could proceed with its logic, 
because it waits for some VersionedValues)

 
{code:java}
CompletableFuture<Void> startupConfigurationUpdate = 
notifyConfigurationListeners();
        CompletableFuture<Void> startupRevisionUpdate = 
metaStorageMgr.notifyRevisionUpdateListenerOnStart();

        return CompletableFuture.allOf(startupConfigurationUpdate, 
startupRevisionUpdate, startFuture) {code}
but in this partial node you wait for node to be started without calling 
{{{}notifyRevisionUpdateListenerOnStart{}}}, so it can't start. At lease this 
is the root cause for {{{}ItIgniteDistributionZoneManagerNodeRestartTest{}}}. I 
bet the problem is the same for {{ItIgniteNodeRestartTest}}

h3. Definition of done
Fix ItIgniteNodeRestartTest and ItIgniteDistributionZoneManagerNodeRestartTest 
partial node starts, so async start of components is actually waited.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to