Skip to content

roachtest: workaround for kv/splits failure#27756

Merged
craig[bot] merged 1 commit intocockroachdb:masterfrom
petermattis:pmattis/roachtest-kv-splits
Jul 19, 2018
Merged

roachtest: workaround for kv/splits failure#27756
craig[bot] merged 1 commit intocockroachdb:masterfrom
petermattis:pmattis/roachtest-kv-splits

Conversation

@petermattis
Copy link
Copy Markdown
Collaborator

The kv/splits/nodes=3 roachtest creates a 3 node cluster and then splits
an empty table over and over until 500k ranges are
created. Unfortunately, 2.1 uses slightly more memory per range than 2.0
and the result is that this test went from passing to failing in some
bizarre ways (liveness failures and then apparent killing by some
external system). The long term fix is to use less memory per range,
probably by evicting idle ranges from memory completely, or replacing
them with a minimal stub. In the short term, we can set the RocksDB
cache size for the test lower to free up 3GB of memory for the test.

Fixes #26081

Release note: None

The kv/splits/nodes=3 roachtest creates a 3 node cluster and then splits
an empty table over and over until 500k ranges are
created. Unfortunately, 2.1 uses slightly more memory per range than 2.0
and the result is that this test went from passing to failing in some
bizarre ways (liveness failures and then apparent killing by some
external system). The long term fix is to use less memory per range,
probably by evicting idle ranges from memory completely, or replacing
them with a minimal stub. In the short term, we can set the RocksDB
cache size for the test lower to free up 3GB of memory for the test.

Fixes cockroachdb#26081

Release note: None
@cockroach-teamcity
Copy link
Copy Markdown
Member

This change is Reviewable

@petermattis
Copy link
Copy Markdown
Collaborator Author

@spencerkimball I know you're looking at reducing the memory footprint for idle ranges. One thing I noticed during this investigation is the overhead for the CommandQueue which ways in at 400 bytes per replica (2 command queues * 200 bytes). That seems like very low-hanging fruit, but perhaps not necessary if you have a more holistic fix.

@spencerkimball
Copy link
Copy Markdown
Member

I'm targeting a deeper fix. I've seen CommandQueue showing up as well.

@petermattis
Copy link
Copy Markdown
Collaborator Author

bors r=spencerkimball

craig bot pushed a commit that referenced this pull request Jul 19, 2018
27756: roachtest: workaround for kv/splits failure r=spencerkimball a=petermattis

The kv/splits/nodes=3 roachtest creates a 3 node cluster and then splits
an empty table over and over until 500k ranges are
created. Unfortunately, 2.1 uses slightly more memory per range than 2.0
and the result is that this test went from passing to failing in some
bizarre ways (liveness failures and then apparent killing by some
external system). The long term fix is to use less memory per range,
probably by evicting idle ranges from memory completely, or replacing
them with a minimal stub. In the short term, we can set the RocksDB
cache size for the test lower to free up 3GB of memory for the test.

Fixes #26081

Release note: None

Co-authored-by: Peter Mattis <petermattis@gmail.com>
@craig
Copy link
Copy Markdown
Contributor

craig bot commented Jul 19, 2018

Build succeeded

@craig craig bot merged commit b9c9b5b into cockroachdb:master Jul 19, 2018
@petermattis petermattis deleted the pmattis/roachtest-kv-splits branch July 19, 2018 20:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

roachtest: kv/splits/nodes=3 failed on master

3 participants