Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Eleveldb bug with non-default Erlang schedulers on Linux #260

Open
maartenvanmalland opened this issue Mar 11, 2020 · 4 comments
Open

Eleveldb bug with non-default Erlang schedulers on Linux #260

maartenvanmalland opened this issue Mar 11, 2020 · 4 comments

Comments

@maartenvanmalland
Copy link

maartenvanmalland commented Mar 11, 2020

It seems that there's a pretty hefty bug with Eleveldb when you're using non-default Erlang schedulers ( https://erlang.org/doc/man/erl.html#+sbt ). When you use one of those scheduler flags to start your Erlang application, all the Eleveldb threads are being scheduled to just one core! In our case, this completely trashed the performance of our application.

You can easily check this behavior yourself:

  • Run your Erlang application with another scheduler (i.e. erl +sbt nnts $application)
  • Check the affinity of the Eleveldb processes in /proc/sched_debug . You'll see that all the Eleveldb threads are bound to the same core.
@hb0nes
Copy link

hb0nes commented Dec 8, 2022

Is anyone looking at this?

Our company is unable to use isolcpu due to Eleveldb not honoring the Erlang scheduler settings.

If it's not related to Eleveldb, but instead a configuration error on our side, that is also an answer. However, it does not appear that this is the case.

@martinsumner
Copy link
Contributor

martinsumner commented Dec 8, 2022

I made a comment on a leveldb issue about supporting eleveldb going forward - basho/leveldb#240 (comment).

Those with commit rights to this repo are focused now on making the minimal changes necessary to maintain eleveldb within Riak. So I'm not aware of anyone actively working on eleveldb/basho-leveldb who would be able to resolve an issue like this.

@hb0nes
Copy link

hb0nes commented Dec 8, 2022

Thanks for the reply, Martin.
A shame there aren't enough contributors!

I see you've mentioned leveled or bitcask there, we will look into this.

@martinsumner
Copy link
Contributor

Be aware, that Leveled is heavily optimised for the Riak use case; and bitcask doesn't support indexing. It may also be worth looking at https://gitlab.com/barrel-db/erlang-rocksdb.

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

No branches or pull requests

3 participants