Skip to content

roachtest: de-flake kv/gracefuldraining#58419

Merged
craig[bot] merged 1 commit intocockroachdb:masterfrom
knz:20210104-gracefuldrain-fix
Jan 5, 2021
Merged

roachtest: de-flake kv/gracefuldraining#58419
craig[bot] merged 1 commit intocockroachdb:masterfrom
knz:20210104-gracefuldrain-fix

Conversation

@knz
Copy link
Copy Markdown
Contributor

@knz knz commented Jan 4, 2021

Fixes #53760
Fixes #53725
Fixes #54088
Fixes #53811

This test has been disabled as flaky for a while.
While it failed, we were expecting that it was denouncing a valid
problem inside CockroachDB; as it was allegedly reporting “a
performance drop during node restarts”.

However, after carefully looking at the detail of the failures, we
see:

QPS of 855.30 ... is below minimum allowable QPS of 900.00; entire
timeseries: [{TimestampNanos:1598976900000000000 Value:29.9}
{TimestampNanos:1598976910000000000 Value:855.3}
{TimestampNanos:1598976920000000000 Value:999.4000000000001} ...  {TimestampNanos:1598977160000000000 Value:996.9000000000001}]

The test is failing because the second value is below the
threshold. If we look at multiple instances of the failure, the
symptom is always the same: the performance is quite stable after it
stabilizes at the beginning.
However, it sometime takes more than 10
seconds (1 timeseries data point) to stabilize, whereas the test
expected at most 10 seconds (1 datapoint) of off-threshold
performance.

The problem here is that the QPS increase by the workload program can
actually last for more than a dozen seconds: beyond waiting for the
client to start, the ranges need to spread the traffic, the metric can
lag, etc.

To address this problem in the design of the test, this commit changes
the sequence of checks to initially (before the first node restart)
wait for the workload QPS to stabilize, and only then restart nodes
gracefully and expect the performance to remain stable.

Release note: None

@knz knz requested a review from tbg January 4, 2021 16:51
@cockroach-teamcity
Copy link
Copy Markdown
Member

This change is Reviewable

@knz
Copy link
Copy Markdown
Contributor Author

knz commented Jan 4, 2021

NB: this may not be good to go yet. There's still a failure that tells me that the cluster is being shut down by the test "too early" (i.e. the nodes go down before the test completes). So we're missing an additional synchronization point.

Copy link
Copy Markdown
Member

@tbg tbg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed 1 of 1 files at r1.
Reviewable status: :shipit: complete! 0 of 0 LGTMs obtained

@knz knz force-pushed the 20210104-gracefuldrain-fix branch from d6e1df1 to 89fc07e Compare January 5, 2021 17:11
This test has been disabled as flaky for a while.
While it failed, we were expecting that it was denouncing a valid
problem inside CockroachDB; as it was allegedly reporting “a
performance drop during node restarts”.

However, after carefully looking at the detail of the failures, we
see:

```
QPS of 855.30 ... is below minimum allowable QPS of 900.00; entire
timeseries: [{TimestampNanos:1598976900000000000 Value:29.9}
{TimestampNanos:1598976910000000000 Value:855.3}
{TimestampNanos:1598976920000000000 Value:999.4000000000001} ...  {TimestampNanos:1598977160000000000 Value:996.9000000000001}]
```

The test is failing because the *second* value is below the
threshold. If we look at multiple instances of the failure, the
symptom is always the same: the performance is quite stable *after it
stabilizes at the beginning.* However, it sometime takes more than 10
seconds (1 timeseries data point) to stabilize, whereas the test
expected at most 10 seconds (1 datapoint) of off-threshold
performance.

The problem here is that the QPS increase by the workload program can
actually last for more than a dozen seconds: beyond waiting for the
client to start, the ranges need to spread the traffic, the metric can
lag, etc.

To address this problem in the design of the test, this commit changes
the sequence of checks to *initially* (before the first node restart)
wait for the workload QPS to stabilize, and *only then* restart nodes
gracefully and expect the performance to remain stable.

Release note: None
@knz knz force-pushed the 20210104-gracefuldrain-fix branch from 89fc07e to dc03d6c Compare January 5, 2021 17:51
@knz
Copy link
Copy Markdown
Contributor Author

knz commented Jan 5, 2021

TFYR!

bors r=tbg

@craig
Copy link
Copy Markdown
Contributor

craig bot commented Jan 5, 2021

Build succeeded:

@craig craig bot merged commit b2ac447 into cockroachdb:master Jan 5, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

3 participants