500 with siblings in Raw interface

Bryan Fink bryan at basho.com
Thu Dec 17 08:30:28 EST 2009


On Wed, Dec 16, 2009 at 7:13 PM, Jonathan Lee <jonathan_lee at comcast.com> wrote:
> I am running from the current tip and getting 500s when siblings are
> present for a particular key.  I believe that this is new behavior as
> of the week.  I am about to take a look into the source, but if anyone
> else knows off hand what's causing this, it'd be really helpful.  Does
> anyone have ideas?  My config and an example are below:

Hi, Jonathan.  I've found the trouble.  It's this line, setting up the
bucket properties:

> $ curl  -H "Content-Type: application/json" -X PUT -d
> '{"props":{"allow_mult":"true"}}' localhost:8098/raw/b

The "allow_mult" property expects a boolean Javascript value, not a
string.  If you change the line to:

$ curl  -H "Content-Type: application/json" -X PUT -d
'{"props":{"allow_mult":true}}' localhost:8098/raw/b

(note the lack of quotation marks around "true"), you should see that
timeout go away.

Also, if you had a debug console open on Riak at the time, you may
have seen another traceback, just before the webmachine error of the
form:

** Reason for termination =
** {{case_clause,<<"true">>},
    [{riak_object,reconcile,2},
     {riak_get_fsm,merge_robjs,2},
     {riak_get_fsm,respond,4},
     {riak_get_fsm,waiting_vnode_r,2},
     {gen_fsm,handle_msg,7},
     {proc_lib,init_p_do_apply,3}]}

This is Riak internals failing to match on that string-ified "true" value.

Maybe it's a good idea to add some validation into the
bucket-properties resource...

Hope that fixes things for you,
Bryan




More information about the riak-users mailing list