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:[email protected]]
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 <[email protected]>
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
.SetNVal(4)
.SetAllowMultiple(true)
.SetWVal("all")
.SetRVal("quorum");
client.SetBucketProperties("products",
riakBuckpropertiesResult.Value);
}
The problem is that the properties that I want to set are for a bucket that
doesn't exist yet so the "get" fails.
_______________________________________________
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