wterl is an Erlang interface to the WiredTiger database, and is written
to support a Riak storage backend that uses WiredTiger.
This backend currently supports only key-value storage and retrieval.
Remaining work includes:
wterl:session_createfunction currently returns an error under certain circumstances, so we currently ignore its return value.
riak_kv_wterl_backendmodule is currently designed to rely on the fact that it runs in just a single Erlang scheduler thread, which is necessary because WiredTiger doesn't allow a session to be used concurrently by different threads. If the KV node design ever changes to involve concurrency across scheduler threads, this current design will no longer work correctly.
- Currently the
riak_kv_wterl_backendmodule is stored in this repository, but it really belongs in the
- There are currently some stability issues with WiredTiger that can sometimes cause errors when restarting KV nodes with non-empty WiredTiger storage.
Future support for secondary indexes requires WiredTiger features that are under development but are not yet available.
You can deploy
wterl into a Riak devrel cluster using the
script. Clone the
riak repo, change your working directory to it, and
then execute the
enable-wterl script. It adds
wterl as a dependency,
make all devrel, and then modifies the configuration settings of the
resulting dev nodes to use the WiredTiger storage backend.