-
Notifications
You must be signed in to change notification settings - Fork 156
Rename tests, parallel tests, one elasticsearch replica, readiness probe #50
Conversation
Signed-off-by: Pavol Loffay <[email protected]>
07bfd6d
to
ed8c948
Compare
Signed-off-by: Pavol Loffay <[email protected]>
Signed-off-by: Pavol Loffay <[email protected]>
Signed-off-by: Pavol Loffay <[email protected]>
0a56d5d
to
7888085
Compare
Signed-off-by: Pavol Loffay <[email protected]>
Signed-off-by: Pavol Loffay <[email protected]>
ES tests are passing when cassandra tests are disabled. I have introduced travis stages to run tests in parallel. Now it seems that it works fine. |
I am restarting the build to be sure :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change to the README requires a clarification. Other than that, this can be merged once Travis approves this PR.
@@ -109,7 +109,7 @@ kubernetes cluster (via `kubectl`). When executing tests from IDE make sure that | |||
|
|||
```bash | |||
minikube start | |||
./mvnw clean verify -Pe2e | |||
./mvnw clean verify -Pcassandra,elasticsearch,all-in-one |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ES tests are passing when cassandra tests are disabled.
Should one expect this command to finish successfully, or will this fail as per your comment on the PR ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
locally it passes fine, the problem is with travis.
This is a one liner to run everything
Signed-off-by: Pavol Loffay <[email protected]>
Signed-off-by: Pavol Loffay <[email protected]>
@@ -35,7 +36,9 @@ | |||
* 2. jaeger-query returns 500 is ES storage is empty (without indices) https://github.com/jaegertracing/jaeger/issues/464 | |||
*/ | |||
@Before | |||
public void before() { | |||
public void before() throws InterruptedException { | |||
TimeUnit.SECONDS.sleep(8); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR is not ready for review, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not ready, it is still failing
Signed-off-by: Pavol Loffay <[email protected]>
Signed-off-by: Pavol Loffay <[email protected]>
Signed-off-by: Pavol Loffay <[email protected]>
I think the main here is actually two replicas. What happens is that one server has data and the other no |
Signed-off-by: Pavol Loffay <[email protected]>
Signed-off-by: Pavol Loffay <[email protected]>
@jpkrohling this is ready to review. See the PR description for changes. |
|
||
/** | ||
* We need to initialize ES storage, before we proceed to tests for two reasons: | ||
* 1. sometimes first span is not stored | ||
* 2. jaeger-query returns 500 is ES storage is empty (without indices) https://github.com/jaegertracing/jaeger/issues/464 | ||
*/ | ||
@Before | ||
public void before() { | ||
public void before() throws InterruptedException { | ||
TimeUnit.SECONDS.sleep(15); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nope :) It's better to ping for something from time to time than just sleeping for a long time and hoping it will be enough. Besides, waiting 15 seconds won't scale: if you have 10 tests, that's already two and a half minutes of just waiting...
As the only test on this class is being ignored, can't you just remove this @Before
entirely? Or even the whole test?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wow I forgot to remove this sleep statement.
As the only test on this class is being ignored, can't you just remove this @before entirely? Or even the whole test?
The class extends different test class. Before is still needed.
|
||
@Ignore("dependency links returns 404 because of old Cassandra image") | ||
@Ignore("It requires spark job") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same as above: if the only test is being ignored, can't you just remove the whole test class?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, test class extends base test class with other tests.
Signed-off-by: Pavol Loffay <[email protected]>
Signed-off-by: Pavol Loffay <[email protected]>
Readiness probe for ES has been added. Tests still sometimes fail on travis. Maybe it's just unstable travis environment or something with |
I'd rather than just remove this and have a proper fix (proper environment, more resilient test... ) . Unstable tests are a "broken window"[1] and a distraction. We'll eventually just ignore the failure and not know when something wrong really happens. 1 - Broken windows theory |
I am not sure what you suggest can be achieved in reasonable time. Can you setup a proper k8s cluster for tests? Because I can't. Let's keep the issue about tests open and move this forward? This is improvement against current master. |
I would rather restart tests if necessary than have no tests or disable them. |
I don't have time, but introducing a test with intermittent failures is really a bad idea. Merge if you will, I won't block this merge, but I still think it's a terrible idea :) |
The problem is that travis environment is not stable. It's not failing only here but also in other Jaeger repositories (e.g. Jaeger main repo xdock tests, all-in-one). I am fine with restarting the build rather than not having tests at all. I will merge and keep the issue for tests open. |
related to #44