Bucket creation.

OJ Reeves oj at buffered.io
Wed Feb 6 08:32:51 EST 2013


I am not aware of the rules in bucket naming, I don't even know if there
are any or if they're documented anywhere. All I can say is that I wouldn't
personally use a forward-slash because it's an obvious conflict with other
areas of the system.

OJ

On Wed, Feb 6, 2013 at 10:44 PM, Kevin Burton <rkevinburton at charter.net>wrote:

> 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
>>
>
>
> _______________________________________________
> riak-users mailing list
> riak-users at lists.basho.com
> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
>
>


-- 

OJ Reeves
+61 431 952 586
http://buffered.io/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.basho.com/pipermail/riak-users_lists.basho.com/attachments/20130206/8fabe644/attachment.html>


More information about the riak-users mailing list