Hi, I was struggling with an error that produced that error message.  My
solution was to set the default bucket properties in app.config.

I set allow_mult to false and last_write_wins to true.

Go to app.config and under 'riak_core', you can add the 'default bucket
props' as shown here:

http://docs.basho.com/riak/1.2.1/references/Configuration-Files/#default_bucket_props

I was able to talk with Ryan Zezeski who recommended this solution to me,
saying that Riak Search creates buckets behind the scenes that rely on the
allow_mult being false.

Doing this does disable siblings and therefore conflict resolution, so you
can enable allow_mult: true, last_write_wins: false, and/or search
precommit on buckets individually via a set bucket properties call.

-Tony

On Wed, Mar 13, 2013 at 6:36 PM, Jeremiah Peschka <
[email protected]> wrote:

>
>
> ---
> Jeremiah Peschka - Founder, Brent Ozar Unlimited
> MCITP: SQL Server 2008, MVP
> Cloudera Certified Developer for Apache Hadoop
>
>
> On Wed, Mar 13, 2013 at 6:27 PM, Kevin Burton <[email protected]>wrote:
>
>> So the only change you made was to enable search for the bucket. And
>> since I am not using search (just trying to store the object) you could
>> remove that also. Why did you feel that it was needed?
>>
>
> Because your initial error message was {precommit_fail,{hook_crashed,{*
> riak_search_kv_hook*,precommit,error,badarg}}}
>
>
>>  ****
>>
>> ** **
>>
>> This brings us back to the original question though. What does the error
>> tell me about the configuration? The test that everything works on the
>> Basho site is to save a binary image to the cluster and retrieve it. If
>> this is successful then the cluster seems healthy. I did this and there was
>> no errors. It seems that I get this error only when I try JSON data which
>> is the data I want to store. So what could be specifically wrong about my
>> configuration data that allows binary image data but throws an error when
>> saving JSON data?
>>
> If you're saving to a different bucket, which your curl commands indicate,
> my guess is that the cluster is healthy something is busted within your
> bucket configuration for the buyseasons-orders bucket. Once you perform a
> rolling update to 1.3 (or create a new cluster) you can reset the bucket
> properties[1]. Or, if you want to be lazy, you could try saving to a random
> bucket like "buyseasons-orders-asdf1234" or "CC5DF49B-D8D3-4B2D-ABBD-1
> B63A4F10FFF".
>
> Either way, my suspicion remains that there is something nasty going on
> with your bucket properties that's causing you some grief on this bucket.
> Could you take a look at the bucket properties [2] and post them on list or
> in a gist?
>
> [1]:
> http://docs.basho.com/riak/latest/references/apis/http/HTTP-Reset-Bucket-Properties/
>
> [2]:
> http://docs.basho.com/riak/latest/references/apis/http/HTTP-Get-Bucket-Properties/
>
>> ****
>>
>> ** **
>>
>> *From:* Jeremiah Peschka [mailto:[email protected]]
>> *Sent:* Wednesday, March 13, 2013 8:10 PM
>>
>> *To:* Kevin Burton
>> *Cc:* riak-users
>> *Subject:* Re: Error interpretation****
>>
>> ** **
>>
>> Try now, this appears to fall into the "Jeremiah can't work anything that
>> requires security" category.****
>>
>>
>> ****
>>
>> ---****
>>
>> Jeremiah Peschka - Founder, Brent Ozar Unlimited****
>>
>> MCITP: SQL Server 2008, MVP****
>>
>> Cloudera Certified Developer for Apache Hadoop****
>>
>> ** **
>>
>> On Wed, Mar 13, 2013 at 6:06 PM, Kevin Burton <[email protected]>
>> wrote:****
>>
>> Thank you. I was not trying to search I was just trying to store the
>> value.****
>>
>>  ****
>>
>> When I try to open the file I get****
>>
>>  ****
>>
>> The website declined to show this webpage****
>>
>>  ****
>>
>> So I am not sure what changes you made.****
>>
>>  ****
>>
>>  ****
>>
>> *From:* Jeremiah Peschka [mailto:[email protected]]
>> *Sent:* Wednesday, March 13, 2013 7:41 PM
>> *To:* Kevin Burton
>> *Cc:* riak-users
>> *Subject:* Re: Error interpretation****
>>
>>  ****
>>
>> I ran the sample code you sent over on my local machine and it ran
>> without error. I did have to enable riak search on an individual bucket by
>> setting bucket properties, but you can see the changes I made here:
>> http://clientresources.brentozar.com.s3.amazonaws.com/CITest.zip****
>>
>>  ****
>>
>> You may not get the search results that you want from your JSON document
>> because it doesn't conform to the default Riak Search schema -
>> http://docs.basho.com/riak/latest/cookbooks/Riak-Search---Schema/#The-Default-Schema
>> ****
>>
>>
>> ****
>>
>> ---****
>>
>> Jeremiah Peschka - Founder, Brent Ozar Unlimited****
>>
>> MCITP: SQL Server 2008, MVP****
>>
>> Cloudera Certified Developer for Apache Hadoop****
>>
>>  ****
>>
>> On Wed, Mar 13, 2013 at 5:32 PM, Kevin Burton <[email protected]>
>> wrote:****
>>
>> Instead of using a binary file I tried a file that contains serialized
>> JSON data. I am getting pretty much the same error:****
>>
>>  ****
>>
>> <html><head><title>500 Internal Server
>> Error</title></head><body><h1>Internal Se****
>>
>> rver Error</h1>The server encountered an error while processing this
>> request:<br****
>>
>> ><pre>{error,****
>>
>>     {error,badarg,****
>>
>>         [{erlang,iolist_to_binary,****
>>
>>
>> [{hook_crashed,{riak_search_kv_hook,precommit,error,badarg}}],****
>>
>>              []},****
>>
>>
>> {wrq,append_to_response_body,2,[{file,"src/wrq.erl"},{line,205}]},****
>>
>>          {riak_kv_wm_object,handle_common_error,3,****
>>
>>              [{file,"src/riak_kv_wm_object.erl"},{line,998}]},****
>>
>>          {webmachine_resource,resource_call,3,****
>>
>>              [{file,"src/webmachine_resource.erl"},{line,183}]},****
>>
>>          {webmachine_resource,do,3,****
>>
>>              [{file,"src/webmachine_resource.erl"},{line,141}]},****
>>
>>          {webmachine_decision_core,resource_call,1,****
>>
>>              [{file,"src/webmachine_decision_core.erl"},{line,48}]},****
>>
>>          {webmachine_decision_core,accept_helper,0,****
>>
>>              [{file,"src/webmachine_decision_core.erl"},{line,606}]},****
>>
>>          {webmachine_decision_core,decision,1,****
>>
>>
>> [{file,"src/webmachine_decision_core.erl"},{line,577}]}]}}</pre><P>****
>>
>> <HR><ADDRESS>mochiweb+webmachine web server</ADDRESS></body></html>****
>>
>>  ****
>>
>> From****
>>
>>  ****
>>
>> curl -XPUT http://devUBuntu01:8098/riak/buyseasons-orders/1 -H
>> "Content-type:application/json" --data-binary @test.json****
>>
>>  ****
>>
>> So given this error any suggestions as to the meaning?****
>>
>>  ****
>>
>> I can put the JSON file on dropbox or someother media if it is needed. **
>> **
>>
>>  ****
>>
>> Thank you.****
>>
>>  ****
>>
>> *From:* Kevin Burton [mailto:[email protected]]
>> *Sent:* Wednesday, March 13, 2013 9:28 AM
>> *To:* 'Jeremiah Peschka'; 'riak-users'
>> *Subject:* RE: Error interpretation****
>>
>>  ****
>>
>> So the question remains in my mind why****
>>
>>  ****
>>
>> curl -XPUT http://devUbuntu01:8098/riak/images/1.jpg -H "Content-type:
>> image/jpeg" --data-binary @test.jpg****
>>
>>  ****
>>
>> and the corresponding read****
>>
>>  ****
>>
>> curl -v http://devUbuntu01:8098/riak/images/1.jpg >test-read.jpg****
>>
>>  ****
>>
>> work without error but the CI call to put fails? How are these different?
>> ****
>>
>>  ****
>>
>>  ****
>>
>> *From:* riak-users 
>> [mailto:[email protected]<[email protected]>]
>> *On Behalf Of *Jeremiah Peschka
>> *Sent:* Tuesday, March 12, 2013 8:35 PM****
>>
>>
>> *To:* riak-users
>> *Subject:* Re: Error interpretation****
>>
>>  ****
>>
>> Default leveldb config is (when built using `make devrel`): ****
>>
>>  ****
>>
>>  %% eLevelDB Config****
>>
>>  {eleveldb, [****
>>
>>              {data_root, "./data/leveldb"}****
>>
>>             ]},****
>>
>>  ****
>>
>> Drop everything but the data_root. Also: simplify your set up. You're
>> running into timeout errors in a networked environment. Test your
>> functionality on a local cluster (either 1 node or a devrel setup with 4
>> nodes). Validate your logic and functionality there.****
>>
>>  ****
>>
>> I wish I could promise that I can help out at all, but I just got back
>> from 12 days out of the country and I'm booked solid for the next two
>> weeks. In short - my responses will be hit or miss at best.****
>>
>>  ****
>>
>> Good luck and godspeed.****
>>
>>
>> ****
>>
>> ---****
>>
>> Jeremiah Peschka - Founder, Brent Ozar Unlimited****
>>
>> MCITP: SQL Server 2008, MVP****
>>
>> Cloudera Certified Developer for Apache Hadoop****
>>
>>  ****
>>
>>  ****
>>
>>  ****
>>
>> ** **
>>
>
>
> _______________________________________________
> riak-users mailing list
> [email protected]
> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
>
>
_______________________________________________
riak-users mailing list
[email protected]
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to