---------------------------
1. Minor doc suggestion
---------------------------

http://wiki.basho.com/Configuration-Files.html

"""
# riak_kv_fs_backend
Data is stored in binary files on the filesystem

    * riak_kv_fs_backendroot
      Root directory where the files are stored (ex: /var/lib/riak/data)
"""

"riak_kv_fs_backendroot" should be "riak_kv_fs_backend_root"


Note: these docs correctly point that out:
http://doc.erlagner.org/riak_kv/riak_kv_fs_backend.html

-----------------------------------
2. Working example of multi backend
-----------------------------------

Following the previous thread on this, I was able to noodle out how to make this work:

a) edit the app.config
++++++++++++++++++++++

user@erlang32:~/projects/riak/riak/rel/riak$ vim etc/app.config

 42  %% Riak KV config
 43  {riak_kv, [
44 %% Storage_backend specifies the Erlang module defining the storage
 45             %% mechanism that will be used on this node.
 46             {storage_backend, riak_kv_multi_backend},
 47             {multi_backend_default, <<"cache">>},
 48             {multi_backend, [
 49                {<<"bitcask">>, riak_kv_bitcask_backend, [
 50                   {data_root, "/var/riak/data/bitcask"}
 51                ]},
 52                {<<"filesystem">>, riak_kv_fs_backend, [
53 {riak_kv_fs_backend_root, "/var/riak/data/filesystem"}
 54                ]},
 55                {<<"cache">>, riak_kv_cache_backend, [
 56                   {riak_kv_cache_backend_memory, 1024},
 57                   {riak_kv_cache_backend_ttl, 600},
 58                   {riak_kv_cache_backend_max_ttl, 3600}
 59                ]}
 60             ]},


b) try to persist data into the filestore backend
+++++++++++++++++++++++++++++++++++++++++++++++++

user@erlang32:~/projects/riak/riak/rel/riak$ ./erts-5.8.3/bin/erl -name 'riaktest@127.0.0.1' -setcookie riak

Erlang R14B02 (erts-5.8.3) [source] [rq:1] [async-threads:0] [kernel-poll:false]

Eshell V5.8.3  (abort with ^G)

(riaktest@127.0.0.1)1> RiakNode = 'riak@127.0.0.1'.
'riak@127.0.0.1'
(riaktest@127.0.0.1)2> net_adm:ping(RiakNode).
pong
(riaktest@127.0.0.1)3>  {ok, C} = riak:client_connect(RiakNode).
{ok,{riak_client,'riak@127.0.0.1',<<3,169,233,111>>}}
(riaktest@127.0.0.1)4> C:set_bucket(<<"Blobs">>, [{backend, <<"filesystem">>}]).
ok
(riaktest@127.0.0.1)5> Blob=riak_object:new(<<"Blobs">>, <<"file1">>, [<<"data blob 1">>]).
{r_object,<<"Blobs">>,<<"file1">>,
          [{r_content,{dict,0,16,16,8,80,48,

{[],[],[],[],[],[],[],[],[],[],[],[],[],[],...},
                            {{[],[],[],[],[],[],[],[],[],[],[],[],...}}},
                      [<<"data blob 1">>]}],
          [],
          {dict,1,16,16,8,80,48,
                {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],...},
                {{[],[],[],[],[],[],[],[],[],[],[],[],[],...}}},
          undefined}
(riaktest@127.0.0.1)6> C:put(Blob, 1).
ok

c) retrieve the persisted data
++++++++++++++++++++++++++++++


(riaktest@127.0.0.1)7> {ok, Retrieved} = C:get(<<"Blobs">>, <<"file1">>, 1).
{ok,{r_object,<<"Blobs">>,<<"file1">>,
              [{r_content,{dict,2,16,16,8,80,48,
                                {[],[],[],[],[],[],[],[],[],[],[],[],...},
                                {{[],[],[],[],[],[],[],[],[],[],...}}},
                          [<<"data blob 1">>]}],
              [{<<3,169,233,111>>,{1,63472109206}}],
              {dict,1,16,16,8,80,48,
                    {[],[],[],[],[],[],[],[],[],[],[],[],[],...},
                    {{[],[],[],[],[],[],[],[],[],[],[],...}}},
              undefined}}
(riaktest@127.0.0.1)9> riak_object:get_value(Retrieved).
[<<"data blob 1">>]

Hope that helps.

-Todd

_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to