From dc3d674d6242e4dfd83e3d6ec81d0a0904500650 Mon Sep 17 00:00:00 2001 From: Steve Vinoski Date: Tue, 27 Mar 2012 22:27:50 -0400 Subject: [PATCH] add README --- README.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..1580d80 --- /dev/null +++ b/README.md @@ -0,0 +1,32 @@ +`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: + +* The `wterl:session_create` function currently returns an error under + certain circumstances, so we currently ignore its return value. +* The `riak_kv_wterl_backend` module 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_backend` module is stored in this + repository, but it really belongs in the `riak_kv` repository. +* 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. + +Deploying +--------- + +You can deploy `wterl` into a Riak devrel cluster using the `enable-wterl` +script. Clone the `riak` repo, change your working directory to it, and +then execute the `enable-wterl` script. It adds `wterl` as a dependency, +runs `make all devrel`, and then modifies the configuration settings of the +resulting dev nodes to use the WiredTiger storage backend.