apache / apache/kyuubi

Flaky Test: travis ci issue - EtcdDiscoveryClientSuite: org.apache.kyuubi.ha.client.etcd.EtcdDiscoveryClientSuite

Open
#3,079 0 comments 0 reactions 0 assignees View on GitHub
kind:bug kind:test priority:major
Dominant language
Scala
Stars
2.4k
Forks
1k
PR merge metrics
No merged PRs in 30d

Description

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct)

### Search before asking

- [X] I have searched in the [issues](https://github.com/apache/incubator-kyuubi/issues?q=is%3Aissue) and found no similar issues.

### Describe the flaky test

```
EtcdDiscoveryClientSuite:
org.apache.kyuubi.ha.client.etcd.EtcdDiscoveryClientSuite *** ABORTED ***
java.lang.IllegalStateException: Cluster failed to start
at io.etcd.jetcd.launcher.EtcdClusterImpl.start(EtcdClusterImpl.java:82)
at org.apache.kyuubi.ha.client.etcd.EtcdDiscoveryClientSuite.beforeAll(EtcdDiscoveryClientSuite.scala:48)
at org.scalatest.BeforeAndAfterAll.liftedTree1$1(BeforeAndAfterAll.scala:212)
at org.scalatest.BeforeAndAfterAll.run(BeforeAndAfterAll.scala:210)
at org.scalatest.BeforeAndAfterAll.run$(BeforeAndAfterAll.scala:208)
at org.apache.kyuubi.ha.client.etcd.EtcdDiscoveryClientSuite.run(EtcdDiscoveryClientSuite.scala:33)
at org.scalatest.Suite.callExecuteOnSuite$1(Suite.scala:1175)
at org.scalatest.Suite.$anonfun$runNestedSuites$1(Suite.scala:1222)
at scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:36)
at scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:33)
...
Cause: java.lang.RuntimeException: org.testcontainers.containers.ContainerLaunchException: Container startup failed
at io.etcd.jetcd.launcher.EtcdContainer.start(EtcdContainer.java:183)
at io.etcd.jetcd.launcher.EtcdClusterImpl.lambda$start$2(EtcdClusterImpl.java:62)
at java.lang.Thread.run(Thread.java:748)
...
Cause: org.testcontainers.containers.ContainerLaunchException: Container startup failed
at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:345)
at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:326)
at io.etcd.jetcd.launcher.EtcdContainer.start(EtcdContainer.java:180)
at io.etcd.jetcd.launcher.EtcdClusterImpl.lambda$start$2(EtcdClusterImpl.java:62)
at java.lang.Thread.run(Thread.java:748)
...
Cause: org.rnorth.ducttape.RetryCountExceededException: Retry limit hit with exception
at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:88)
at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:338)
at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:326)
at io.etcd.jetcd.launcher.EtcdContainer.start(EtcdContainer.java:180)
at io.etcd.jetcd.launcher.EtcdClusterImpl.lambda$start$2(EtcdClusterImpl.java:62)
at java.lang.Thread.run(Thread.java:748)
...
Cause: org.testcontainers.containers.ContainerLaunchException: Could not create/start container
at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:537)
at org.testcontainers.containers.GenericContainer.lambda$doStart$0(GenericContainer.java:340)
at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:81)
at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:338)
at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:326)
at io.etcd.jetcd.launcher.EtcdContainer.start(EtcdContainer.java:180)
at io.etcd.jetcd.launcher.EtcdClusterImpl.lambda$start$2(EtcdClusterImpl.java:62)
at java.lang.Thread.run(Thread.java:748)
...
Cause: java.lang.IllegalStateException: Container did not start correctly.
at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:475)
at org.testcontainers.containers.GenericContainer.lambda$doStart$0(GenericContainer.java:340)
at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:81)
at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:338)
at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:326)
at io.etcd.jetcd.launcher.EtcdContainer.start(EtcdContainer.java:180)
at io.etcd.jetcd.launcher.EtcdClusterImpl.lambda$start$2(EtcdClusterImpl.java:62)
at java.lang.Thread.run(Thread.java:748)
...
Run completed in 2 minutes, 38 seconds.
Total number of tests run: 9
Suites: completed 5, aborted 1
Tests: succeeded 9, failed 0, canceled 0, ignored 0, pending 0
*** 1 SUITE ABORTED ***
```

### Actions URL

https://app.travis-ci.com/github/apache/incubator-kyuubi/jobs/576755050

### Parent issue

#1733

### Are you willing to submit PR?

- [ ] Yes I am willing to submit a PR!

Contributor guide

Open the contributing guide

Research direction

Start with EtcdDiscoveryClientSuite.scala:48 and the linked Travis CI job to inspect why the Etcd cluster container fails during beforeAll. Reproduce the aborted suite and determine a reliable way for it to start; done means the suite completes without aborting in CI.

Written by the indexing model from the issue text.

Assessment

Tech stack
scala
Domain
ci-cd, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.