Sean -

Thanks for responding so quickly.  I posted a response on github 
(https://github.com/seancribbs/ripple/pull/168).

Regards,
Keith


On May 26, 2011, at 10:35 AM, Sean Cribbs wrote:

> Keith,
> 
> There was a pull-request issue out for this on the Github project 
> (https://github.com/seancribbs/ripple/pull/168). For various reasons, the 
> list of keys is memoized in the Riak::Bucket instance.  Passing :reload => 
> true to the #keys method will cause it to refresh.  I like to discourage 
> list-keys, but with the memoized list you don't shoot yourself in the foot as 
> often.
> 
> Sean Cribbs <s...@basho.com>
> Developer Advocate
> Basho Technologies, Inc.
> http://basho.com/
> 
> On May 26, 2011, at 10:29 AM, Keith Bennett wrote:
> 
>> All -
>> 
>> I just started working with Riak, and am using the riak-client Ruby gem.
>> 
>> When I delete a key from a bucket, and try to fetch the value associated 
>> with that key, I get a 404 error (which is reasonable).  However, it remains 
>> in the bucket's list of keys (i.e. the value returned by bucket.keys().  Why 
>> is the key still reported to exist in the bucket? Is bucket.keys cached, and 
>> therefore unaware of the deletion? Here's a riak-client Ruby script and its 
>> output in irb that illustrates this:
>> 
>> ree-1.8.7-2010.02 :001 > require 'riak'
>> => true 
>> ree-1.8.7-2010.02 :002 > 
>> ree-1.8.7-2010.02 :003 >   client = Riak::Client.new
>> => #<Riak::Client http://127.0.0.1:8098> 
>> ree-1.8.7-2010.02 :004 > bucket = client['links']
>> => #<Riak::Bucket {links}> 
>> ree-1.8.7-2010.02 :005 > key = bucket.keys.first
>> => "4000-17.xml" 
>> ree-1.8.7-2010.02 :006 > object = bucket[key]
>> => #<Riak::RObject {links,4000-17.xml} [text/xml]:(6430 bytes)> 
>> ree-1.8.7-2010.02 :007 > object.delete
>> => #<Riak::RObject {links,4000-17.xml} [text/xml]:(6430 bytes)> 
>> ree-1.8.7-2010.02 :008 > bucket.keys.first
>> => "4000-17.xml" 
>> ree-1.8.7-2010.02 :009 > object = bucket[key]
>> Riak::HTTPFailedRequest: Expected [200, 300] from Riak but received 404. not 
>> found
>> 
>>      from 
>> /Users/kbennett/.rvm/gems/ree-1.8.7-2010.02/gems/riak-client-0.9.4/lib/riak/client/net_http_backend.rb:55:in
>>  `perform'
>>      from 
>> /Users/kbennett/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/net/http.rb:1054:in
>>  `request'
>>      from 
>> /Users/kbennett/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/net/http.rb:2142:in
>>  `reading_body'
>>      from 
>> /Users/kbennett/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/net/http.rb:1053:in
>>  `request'
>>      from 
>> /Users/kbennett/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/net/http.rb:1037:in
>>  `request'
>>      from 
>> /Users/kbennett/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/net/http.rb:543:in
>>  `start'
>>      from 
>> /Users/kbennett/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/net/http.rb:1035:in
>>  `request'
>>      from 
>> /Users/kbennett/.rvm/gems/ree-1.8.7-2010.02/gems/riak-client-0.9.4/lib/riak/client/net_http_backend.rb:47:in
>>  `perform'
>>      from 
>> /Users/kbennett/.rvm/gems/ree-1.8.7-2010.02/gems/riak-client-0.9.4/lib/riak/client/net_http_backend.rb:46:in
>>  `tap'
>>      from 
>> /Users/kbennett/.rvm/gems/ree-1.8.7-2010.02/gems/riak-client-0.9.4/lib/riak/client/net_http_backend.rb:46:in
>>  `perform'
>>      from 
>> /Users/kbennett/.rvm/gems/ree-1.8.7-2010.02/gems/riak-client-0.9.4/lib/riak/client/http_backend/transport_methods.rb:59:in
>>  `get'
>>      from 
>> /Users/kbennett/.rvm/gems/ree-1.8.7-2010.02/gems/riak-client-0.9.4/lib/riak/client/http_backend.rb:72:in
>>  `fetch_object'
>>      from 
>> /Users/kbennett/.rvm/gems/ree-1.8.7-2010.02/gems/riak-client-0.9.4/lib/riak/bucket.rb:101:in
>>  `[]'
>>      from riak-delete-failure.rb:9
>> 
>> Thanks,
>> Keith
>> 
>> 
>> 
>> _______________________________________________
>> riak-users mailing list
>> riak-users@lists.basho.com
>> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
> 


_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to