From a33fbc40f27f6b0384807c3187b1e07cd3ebbcb9 Mon Sep 17 00:00:00 2001 From: Max Asnaashari Date: Wed, 10 Apr 2024 16:01:24 +0000 Subject: [PATCH] microcloud/cmd/microcloud: Clearer join process comments Signed-off-by: Max Asnaashari --- microcloud/cmd/microcloud/main_init.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/microcloud/cmd/microcloud/main_init.go b/microcloud/cmd/microcloud/main_init.go index 7d9b8b0e1..8a8236b7e 100644 --- a/microcloud/cmd/microcloud/main_init.go +++ b/microcloud/cmd/microcloud/main_init.go @@ -339,18 +339,23 @@ func waitForJoin(sh *service.Handler, clusterSize map[types.ServiceType]int, sec clustered[tokenInfo.Service] = false } + // Iterate over all services until the database is updated with the new node across all of them. now := time.Now() for len(clustered) != 0 { if time.Since(now) >= time.Second*30 { return fmt.Errorf("Timed out waiting for cluster member %q to appear", peer) } + // Check the size of the cluster for each service. for service := range clustered { systems, err := sh.Services[service].ClusterMembers(context.Background(), nil) if err != nil { return err } + // If the size of the cluster has been incremented by 1 from its initial value, + // then we don't need to check the corresponding service anymore. + // So remove the service from consideration and update the current cluster size for the next node. if len(systems) == clusterSize[service]+1 { delete(clustered, service) clusterSize[service] = clusterSize[service] + 1