basho / eleveldb

Erlang LevelDB API
262 stars 177 forks source link

Dynamic decision to swap threads or not on Erlang Write operation #242

Open matthewvon opened 7 years ago

matthewvon commented 7 years ago

eleveldb swaps each Erlang request from an Erlang scheduler thread to a local eleveldb worker thread. This is to prevent Erlang scheduler collapses. Write operations do not actually need to swap all the time. This branch creates the capability of dynamic selection to swap threads or not.

Detailed discussion is here:

https://github.com/basho/leveldb/wiki/mv-nonblocking-write2