There is no terminating condition in your loop so it’s going to run forever and cause the memory issue you mentioned. You should add a relevant break condition in your loop and test if it resolves the issue.
def loop_bucket_gets
bucket = Couchbase::Bucket.new({:node_list => ['xxx.xxx.xxx.xxx:8091', 'yyy.yyy.yyy.yyy:8091'],
:bucket => 'Foo',
:pool => 'default',
:expires_in => 1.day,
:default_format => :marshal,
:key_prefix => '_foo'
})
i = 0
loop do
begin
i += 1
bucket.get "ABC#{i}"
break if YOUR_TERMINATING_CONDITION
rescue ::Couchbase::Error::Base => e
nil
end
end
end