RiakCS configs and quoting of backends

Toby Corkindale toby.corkindale at strategicdata.com.au
Tue Apr 9 20:36:15 EDT 2013

On 10/04/13 01:04, Reid Draper wrote:
> Hey Toby, comments inline:
> On Apr 8, 2013, at 9:45 PM, Toby Corkindale
> <toby.corkindale at strategicdata.com.au> wrote:
>> Hi, I think I've spotted an issue with the configuration snippets
>> given on both these pages, relating to configuring Riak CS.. but it
>> might just be my misunderstanding of Erlang configuration formats.
>> http://docs.basho.com/riakcs/latest/tutorials/fast-track/Building-a-Local-Test-Environment/
>> On those pages, none of the names of backends are quoted. ie. We
>> have {be_blocks, riak_kv_bitcask_backend, rather than:
>> {<<"be_blocks"">, riak_kv_bitcask_backend,
> Both of those links look correct to me.

And I agree that they do work as given.. just you lose the ability to 
refer to backends by name when setting bucket properties.

Which you're not going to do for RiakCS buckets, but you would if you 
want to have other buckets for use by your app.

>> However in the regular Riak configuration section, backend names
>> are always quoted.
> Can you provide a link to this?

Sure, it was from here:

{multi_backend_default, <<"bitcask_mult">>},
     {multi_backend, [
         %% Here's where you set the individual multiplexed backends
         {<<"bitcask_mult">>,  riak_kv_bitcask_backend, [
                          %% bitcask configuration
                          {config1, ConfigValue1},
                          {config2, ConfigValue2}

>> Now, I note that if you use the entire configuration snippet
>> verbatim, that it all works. However if you want to set more
>> backends and to select them via REST bucket properties, then you
>> find that none of the backends can be found.
> Can you elaborate what you mean here? It's also worth mentioning
> that, if you're using Riak CS, you shouldn't need to add or 'select'
> more backends for the underlying Riak cluster.

Not for RiakCS, but what if you want to have a different backend 
available for your app to use - eg. Memory or expiring Bitcask?

(You can use the backend prefix option, but that's not available in 
regular Riak)

>> Things only seemed to work as expected once I went through and
>> quoted all the backend names - in the multi_backend{} part, and
>> also for the prefix_list and default options.

More information about the riak-users mailing list