@Test void reconnectsIndefinitelyAndReportsUnhealthyWhenKafkaUnavailable() throws Exception {
    KafkaCollector.Builder builder =
      builder("fail_invalid_bootstrap_servers").bootstrapServers("localhost:" + 9092);

    try (KafkaCollector collector = builder.build()) {
      collector.start();
      Thread.sleep(TimeUnit.SECONDS.toMillis(1));
      assertThat(collector.check().error()).isInstanceOf(TimeoutException.class);
    }
  }
If the Kafka broker(s) specified in the connection string are not available, the Kafka consumer
library will attempt to reconnect indefinitely. The Kafka consumer will not throw an exception
and does not expose the status of its connection to the Kafka broker(s) in its API.
<p>
An AdminClient API instance has been added to the connector to validate that connection with
Kafka is available in every health check. This AdminClient reuses Consumer's properties to
Connect to the cluster, and request a Cluster description to validate communication with
Kafka.
zipkin-collector/kafka/src/test/java/zipkin2/collector/kafka/ITKafkaCollector.java