The master-is-stable indicator will retrieve useful information
regarding the discovery. This will be useful even if the local
cluster state is not recovered.

We currently do not evaluate the instance-has-master indicator
if the cluster state is not recovered, but we should remove this
constraint once master-is-stable is merged
server/src/test/java/org/elasticsearch/health/HealthServiceTests.java
var slowTasks = new HealthIndicatorResult("slow_task_assignment", "coordination", YELLOW, null, null, null, null, null);
        var shardsAvailable = new HealthIndicatorResult("shards_availability", "data", GREEN, null, null, null, null, null);
        var service = new HealthService(
            Collections.emptyList(),
            List.of(
                createMockHealthIndicatorService(networkLatency),
                createMockHealthIndicatorService(slowTasks),
                createMockHealthIndicatorService(shardsAvailable)
            ),
            mockEmptyClusterService()
        );
        assertThat(
            service.getHealth(null, null, false),
            anyOf(
                hasItems(
                    new HealthComponentResult("coordination", YELLOW, List.of(slowTasks, networkLatency)),
                    new HealthComponentResult("data", GREEN, List.of(shardsAvailable))
                ),
                hasItems(
                    new HealthComponentResult("coordination", YELLOW, List.of(networkLatency, slowTasks)),
                    new HealthComponentResult("data", GREEN, List.of(shardsAvailable))
                )
            )
        );
        assertThat(
            service.getHealth("coordination", null, false),
            anyOf(
                hasItems(new HealthComponentResult("coordination", YELLOW, List.of(slowTasks, networkLatency))),
                hasItems(new HealthComponentResult("coordination", YELLOW, List.of(networkLatency, slowTasks)))
            )