Bucket creation.

Kevin Burton rkevinburton at charter.net
Wed Feb 6 07:44:29 EST 2013


The set properties method returns without error on the "illegally named" bucket as do all of the put operations. It is just the get properties operation that returns an error. If the bucket is indeed improperly named then the bug is in the  operations that allow the bucket name. Right?

On Feb 5, 2013, at 10:44 PM, Alexander Moore <moore.alex at gmail.com> wrote:

> I think the problem you are having here is that you are using an invalid bucket name.
> 
> "buyseasons/products" would actually refer to a bucket/key pair.  Riak doesn't have nested buckets.   
> 
> If you change your bucket name to "buyseasons-products" or "buyseasons%20products" it should work.
> 
> As for the weird/misleading exception, I'll report it to CorrugatedIron. 
> 
> Thanks,
> Alex Moore
> 
> 
>> I still have a question. Based on your input I modified the code slightly as follows:
>>  
>> 
>>             RiakBucketProperties bucketProperties = new RiakBucketProperties();
>> 
>>             bucketProperties.SetNVal(4);
>> 
>>             bucketProperties.SetSearch(true);
>> 
>>             bucketProperties.SetAllowMultiple(true);
>> 
>>             bucketProperties.SetWVal("all");
>> 
>>             bucketProperties.SetRVal("quorum");
>> 
>>             if (!client.SetBucketProperties("buyseasons/products", bucketProperties).IsSuccess)
>> 
>>             {
>> 
>>                 Console.WriteLine("Setting bucket properties failed");
>> 
>>             }
>> 
>>             RiakResult<RiakBucketProperties> riakBuckpropertiesResult = client.GetBucketProperties("buyseasons/products", true);
>> 
>>  
>> 
>> But I get a NullReferenceException
>> 
>>  
>> 
>>   at CorrugatedIron.Models.RiakBucketProperties.ReadQuorum(JObject props, String key, Action`1 setter)
>> 
>>    at CorrugatedIron.Models.RiakBucketProperties..ctor(RiakRestResponse response)
>> 
>>    at CorrugatedIron.RiakClient.GetBucketProperties(String bucket, Boolean extended)
>> 
>> . . . . .
>> 
>>  
>> 
>> So the bucket should have been created when I set the properties. But then I tried to read the properties back and I get the exception.
>> 
>>  
>> 
>> From: Alexander Sicular [mailto:siculars at gmail.com] 
>> Sent: Tuesday, February 05, 2013 5:17 PM
>> To: Kevin Burton
>> Cc: riak-users
>> Subject: Re: Bucket creation.
>> 
>>  
>> 
>> "buckets" are a virtual concept. you dont need to "create" them. just write a key to any bucket. also by modifying the default bucket parameters, by adding the search hook on a bucket, let's say, you are also "creating" the bucket.
>> 
>>  
>> 
>> -alexander
>> 
>>  
>> 
>> On Tue, Feb 5, 2013 at 6:09 PM, Kevin Burton <rkevinburton at charter.net> wrote:
>> 
>>  
>> 
>> I have filed to find code that would create a bucket. It must be in the past I have just put objects into a bucket and Riak must construct the bucket if it does not exist. Now I would like to create the bucket and set some properties on that bucket. But I don’t know how to create the bucket.
>> 
>>  
>> 
>> So I have code like:
>> 
>>  
>> 
>>                             BuildProduct(source, destination);
>> 
>>                             RiakObject value = new RiakObject("products", keySku, JsonConvert.SerializeObject(destination))
>> 
>>                                 {
>> 
>>                                     ContentType = "application/json"
>> 
>>                                 };
>> 
>>  
>> 
>>                             RiakResult<RiakObject> response = client.Put(value, new RiakPutOptions { W = 2 });
>> 
>>  
>> 
>> But I would like to create the bucket and set properties on the bucket before I put things into the bucket. Like:
>> 
>>  
>> 
>>             RiakResult<RiakBucketProperties> riakBuckpropertiesResult = client.GetBucketProperties("products", true);
>> 
>>             if (riakBuckpropertiesResult.IsSuccess)
>> 
>>             {
>> 
>>                 riakBuckpropertiesResult.Value
>> 
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.basho.com/pipermail/riak-users_lists.basho.com/attachments/20130206/0fff7684/attachment.html>


More information about the riak-users mailing list