dev1]$ curl -X PUT -H "Content-Type: application/json" -d '{"props":{"backend":"test"}}' http://127.0.0.1:8098/riak/x124
<html><head><title>500 Internal Server Error</title></head><body><h1>Internal Server Error</h1>The server encountered an error while processing this request:<br><pre>{error,{error,badarg,
[{erlang,list_to_existing_atom,["backend"]},
{riak_kv_wm_raw,erlify_bucket_prop,1},
{lists,map,2},
{riak_kv_wm_raw,accept_bucket_body,2},
{webmachine_resource,resource_call,3},
{webmachine_resource,do,3},
{webmachine_decision_core,resource_call,1},
{webmachine_decision_core,accept_helper,0}]}}</pre><P><HR><ADDRESS>mochiweb+webmachine web server</ADDRESS></body></html>
Config file:
%% -*- tab-width: 4;erlang-indent-level: 4;indent-tabs-mode: nil -*-
%% ex: ts=4 sw=4 et
[
%% Riak Core config
{riak_core, [
%% Default location of ringstate
{ring_state_dir, "data/ring"},
%% http is a list of IP addresses and TCP ports that the Riak
%% HTTP interface will bind.
{http, [ {"127.0.0.1", 8091 } ]},
%% https is a list of IP addresses and TCP ports that the Riak
%% HTTPS interface will bind.
%{https, [{ "127.0.0.1", 8091 }]},
%% default cert and key locations for https can be overridden
%% with the ssl config variable
%{ssl, [
% {certfile, "etc/cert.pem"},
% {keyfile, "etc/key.pem"}
% ]},
%% riak_handoff_port is the TCP port that Riak uses for
%% intra-cluster data handoff.
{handoff_port, 8101 },
%% To encrypt riak_core intra-cluster data handoff traffic,
%% uncomment the following line and edit its path to an
%% appropriate certfile and keyfile. (This example uses a
%% single file with both items concatenated together.)
%{handoff_ssl_options, [{certfile, "/tmp/erlserver.pem"}]},
%% Platform-specific installation paths (substituted by rebar)
{platform_bin_dir, "./bin"},
{platform_data_dir, "./data"},
{platform_etc_dir, "./etc"},
{platform_lib_dir, "./lib"},
{platform_log_dir, "./log"}
]},
%% Riak KV config
{riak_kv, [
%% Storage_backend specifies the Erlang module defining the storage
%% mechanism that will be used on this node.
{storage_backend, riak_kv_multi_backend},
{multi_backend_default, <<"bitcask">>},
{multi_backend, [
{<<"bitcask">>, riak_kv_bitcask_backend, [
{data_root, "data/bitcask"}
]},
{<<"test">>, riak_kv_bitcask_backend, [
{data_root, "data/test"}
]}
% {<<"other">>, riak_kv_bitcask_backend, [
% {data_root, "data/other"}
% ]}
]},
%% pb_ip is the IP address that the Riak Protocol Buffers interface
%% will bind to. If this is undefined, the interface will not run.
{pb_ip, "127.0.0.1" },
%% pb_port is the TCP port that the Riak Protocol Buffers interface
%% will bind to
{pb_port, 8081 },
%% pb_backlog is the maximum length to which the queue of pending
%% connections may grow. If set, it must be an integer >= 0.
%% By default the value is 5. If you anticipate a huge number of
%% connections being initialised *simultaneously*, set this number
%% higher.
%% {pb_backlog, 64},
%% raw_name is the first part of all URLS used by the Riak raw HTTP
%% interface. See riak_web.erl and raw_http_resource.erl for
%% details.
%{raw_name, "riak"},
%% mapred_name is URL used to submit map/reduce requests to Riak.
{mapred_name, "mapred"},
%% directory used to store a transient queue for pending
%% map tasks
{mapred_queue_dir, "data/mr_queue" },
%% Each of the following entries control how many Javascript
%% virtual machines are available for executing map, reduce,
%% pre- and post-commit hook functions.
{map_js_vm_count, 8 },
{reduce_js_vm_count, 6 },
{hook_js_vm_count, 2 },
%% Number of items the mapper will fetch in one request.
%% Larger values can impact read/write performance for
%% non-MapReduce requests.
{mapper_batch_size, 5},
%% js_max_vm_mem is the maximum amount of memory, in megabytes,
%% allocated to the Javascript VMs. If unset, the default is
%% 8MB.
{js_max_vm_mem, 8},
%% js_thread_stack is the maximum amount of thread stack, in megabyes,
%% allocate to the Javascript VMs. If unset, the default is 16MB.
%% NOTE: This is not the same as the C thread stack.
{js_thread_stack, 16},
%% Number of objects held in the MapReduce cache. These will be
%% ejected when the cache runs out of room or the bucket/key
%% pair for that entry changes
{map_cache_size, 10000},
%% js_source_dir should point to a directory containing Javascript
%% source files which will be loaded by Riak when it initializes
%% Javascript VMs.
%{js_source_dir, "/tmp/js_source"},
%% riak_stat enables the use of the "riak-admin status" command to
%% retrieve information the Riak node for performance and debugging needs
{riak_kv_stat, true}
]},
%% Bitcask Config
% {bitcask, [
% {data_root, "data/bitcask"}
% ]},
%% Luwak Config
{luwak, [
{enabled, false}
]},
%% Riak_err Config
{riak_err, [
%% Info/error/warning reports larger than this will be considered
%% too big to be formatted safely with the user-supplied format
%% string.
{term_max_size, 65536},
%% Limit the total size of formatted info/error/warning reports.
{fmt_max_bytes, 65536}
]},
%% riak_sysmon config
{riak_sysmon, [
%% To disable forwarding events of a particular type, use a
%% limit of 0.
{process_limit, 30},
{port_limit, 30},
%% Finding reasonable limits for a given workload is a matter
%% of experimentation.
{gc_ms_limit, 50},
{heap_word_limit, 10485760}
]},
%% SASL config
{sasl, [
{sasl_error_logger, {file, "log/sasl-error.log"}},
{errlog_type, error},
{error_logger_mf_dir, "log/sasl"}, % Log directory
{error_logger_mf_maxbytes, 10485760}, % 10 MB max file size
{error_logger_mf_maxfiles, 5} % 5 files max
]}
].