[RCBC-84] require 'couchbase' fails - LoadError - not found Created: 21/Sep/12  Updated: 13/Nov/12  Resolved: 22/Sep/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: 1.2.0.z.beta
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Blocker
Reporter: Patrick Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin12.1.0]
gem 1.8.24
Rails 3.2.6
libcouchbase 2


 Description   
I can't include/'require' the couchbase gem. Installation was successful and also libcouchbase is installed. There's no further error message.

lightbox: me$ gem install couchbase --pre
Successfully installed couchbase-1.2.0.z.beta
1 gem installed
Installing ri documentation for couchbase-1.2.0.z.beta...
Installing RDoc documentation for couchbase-1.2.0.z.beta...

lightbox: me$ cat test.rb
require 'couchbase'
c = Couchbase.new("http://localhost:8091/pools/default")

lightbox: me$ ruby test.rb
/Users/me/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- couchbase (LoadError)
from /Users/me/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from test.rb:1:in `<main>'

lightbox: me$ rails console
Loading development environment (Rails 3.2.6)
1.9.3p194 :001 > require 'couchbase'
LoadError: cannot load such file -- couchbase
from /Users/me/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:251:in `require'
from /Users/me/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:251:in `block in require'
from /Users/me/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:236:in `load_dependency'
from /Users/me/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:251:in `require'
from (irb):1
from /Users/me/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.6/lib/rails/commands/console.rb:47:in `start'
from /Users/me/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.6/lib/rails/commands/console.rb:8:in `start'
from /Users/me/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.6/lib/rails/commands.rb:41:in `<top (required)>'
from script/rails:9:in `require'
from script/rails:9:in `<main>'
1.9.3p194 :002 >


 Comments   
Comment by Patrick [ 21/Sep/12 ]
It was a follow up problem from the failed gem installation before. Forked the repo, changed the file and everything works now.




[RCBC-82] gem install couchbase --pre on OSX 10.8.1 with Ruby 1.9.3-p194 Created: 19/Sep/12  Updated: 13/Nov/12  Resolved: 19/Sep/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: 1.2.0.dp6
Fix Version/s: 1.2.0.z.beta2
Security Level: Public

Type: Bug Priority: Blocker
Reporter: Patrick Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin12.1.0]
Rails 3.2.6
Mac OS X 10.8.1

Issue Links:
Duplicate
is duplicated by RCBC-83 gem install couchbase fails Closed

 Description   
brew install https://raw.github.com/couchbase/homebrew/preview/Library/Formula/libcouchbase.rb

patrick$ gem install couchbase --pre
Building native extensions. This could take a while...
ERROR: Error installing couchbase:
ERROR: Failed to build gem native extension.

        /Users/patrick/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb
extconf.rb:25:in `block in <main>': uninitialized constant RbConfig::ARCHFLAGS (NameError)
from extconf.rb:24:in `each'
from extconf.rb:24:in `<main>'


Gem files will remain installed in /Users/patrick/.rvm/gems/ruby-1.9.3-p194/gems/couchbase-1.2.0.z.beta for inspection.
Results logged to /Users/patrick/.rvm/gems/ruby-1.9.3-p194/gems/couchbase-1.2.0.z.beta/ext/couchbase_ext/gem_make.out

 Comments   
Comment by Sergey Avseyev [ 19/Sep/12 ]
Could you attach your rbconfig.rb from your ruby installation?
Comment by Sergey Avseyev [ 19/Sep/12 ]
I guess I know that the problem in that the RVM doesn't build fat binary for ruby, there fore I should check for defined?(RbConfig::ARCHFLAGS) in the extconf.rb. But I'd like to make sure
Comment by Sergey Avseyev [ 19/Sep/12 ]
The fix http://review.couchbase.org/20959

Patrick, could you verify all is working?

cd /Users/patrick/.rvm/gems/ruby-1.9.3-p194/gems/couchbase-1.2.0.z.beta/ext/couchbase_ext
ruby extconf.rb
make

it should build without errors, if so just let me know and I will roll another version
Comment by Sergey Avseyev [ 19/Sep/12 ]
Of course you should make this change before running ruby extconf.rb

http://review.couchbase.org/#/c/20959/1/ext/couchbase_ext/extconf.rb
Comment by Patrick [ 19/Sep/12 ]
ruby extconf.rb executes correctly. Just trying to install the gem.
Comment by Patrick [ 19/Sep/12 ]
Gem installed. Everything good! Thanks a lot!




[RCBC-3] need to change default dev view Created: 28/Jul/11  Updated: 13/Nov/12  Resolved: 29/Jul/11

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Blocker
Reporter: Matt Ingenthron Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Owing to encoding problems with the "$", we need to change the default for dev views from a prefix of "$dev_" to simply "dev_"

 Comments   
Comment by Sergey Avseyev [ 29/Jul/11 ]
Fixed with http://review.couchbase.org/8538




[RCBC-42] Gracefully handle exceptions from the callbacks Created: 22/Jun/12  Updated: 08/Feb/13  Resolved: 11/Dec/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: 1.2.0
Security Level: Public

Type: New Feature Priority: Blocker
Reporter: Sergey Avseyev Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Currently unwanted exceptions in the callback (C level) could break the library

 Comments   
Comment by Sergey Avseyev [ 11/Dec/12 ]
http://review.couchbase.org/23200




[RCBC-26] support new stale=false parameter Created: 01/Mar/12  Updated: 19/Apr/12  Resolved: 09/Apr/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: docs, library
Affects Version/s: None
Fix Version/s: 1.2.0.z.beta
Security Level: Public

Type: Improvement Priority: Blocker
Reporter: Matt Ingenthron Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Starting with 2.0 DP4, the default for stale has changed to update_after and there is a new argument to the stale parameter, "false" which performs a view update before response. The client needs to support this new argument to the stale parameter.

 Comments   
Comment by Sergey Avseyev [ 09/Apr/12 ]
There actually no such issue as soon as libcouchbase doesn't inerpret query string and couchbase ruby gem accepts hash for parameters and doesn't filter them. So this will work out of the box.




[RCBC-22] ruby client library is not getting installed under mac Created: 24/Jan/12  Updated: 13/Nov/12  Resolved: 14/Feb/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Blocker
Reporter: abhishek Assignee: Matt Ingenthron
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
I have couchbase server up and running.

when i am trying to install libcouchbase as a dependency of the ruby client library, I am getting errors as follow

i tried with brew install libouchbase
-> Error: No available formula for libcouchbase

I tried downloading it and tried to configure it
-> configure: error: Failed to locate memcached/vbucket.h


I tried several other options, but no luck. please help on this.

 Comments   
Comment by Matt Ingenthron [ 14/Feb/12 ]
We had some errors in the homebrew instructions, but those are resolved now. I believe this is fixed. Please re-open if not.




[RCBC-10] CouchBase 2.0 Ruby Lib write to default bucket even if you specify :bucket_name Created: 03/Nov/11  Updated: 13/Nov/12  Resolved: 16/Dec/11

Status: Closed
Project: Couchbase Ruby client library
Component/s: library
Affects Version/s: None
Fix Version/s: 0.9.8
Security Level: Public

Type: Bug Priority: Blocker
Reporter: nexneo Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: couchbase-ruby-client
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: Mac OS X, Ruby 1.9.2 p290


 Description   
I have created bucket for each Rails env so test data remain separate. But it doesn't work as Ruby library 0.9.7 always store data on default bucket.

Couchbase.new("http://127.0.0.1:8091/pools/default", :bucket_name => 'test', :format => :document)

 Comments   
Comment by nexneo [ 02/Dec/11 ]
This issues can be related to, http://www.couchbase.org/issues/browse/MB-4493
Comment by Matt Ingenthron [ 08/Dec/11 ]
Thanks for the bug report, we'll look into it.
Comment by Matt Ingenthron [ 08/Dec/11 ]
Note this needs to be fixed for upcoming 1.8
Comment by Sergey Avseyev [ 14/Dec/11 ]
It is fixed and on review here http://review.couchbase.org/11652

The issue was in authentication. Couchbase uses SASL authentication not only for restricting access, but also for choosing bucket (one of the ways).
Comment by Sergey Avseyev [ 16/Dec/11 ]
I released new version 0.9.8 with fix you can find it at https://rubygems.org/gems/couchbase

or just 'gem update couchbase'
Comment by nexneo [ 25/Dec/11 ]
Sergey now it works with bucket with dedicated port assigned But it can't connect with bucket with password because it can not see it in bucket list here, https://github.com/couchbase/couchbase-ruby-client/blob/master/lib/couchbase/bucket.rb#L59

So, for bucket with password it always throws error "There no such bucket with name 'test' in pool default"




[RCBC-8] Sample app is out of date Created: 15/Oct/11  Updated: 13/Nov/12  Resolved: 08/Apr/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: docs
Affects Version/s: None
Fix Version/s: 1.2.0.z.beta
Security Level: Public

Type: Bug Priority: Blocker
Reporter: Matt Ingenthron Assignee: Raghavan Srinivas (Inactive)
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
A developer was able to get it worked out, but there are some changes on the sample app required with the latest client. See this forum posting:

http://www.couchbase.org/forums/thread/getting-ruby-client-sdk-work

 Comments   
Comment by Matt Ingenthron [ 08/Dec/11 ]
Any progress on this?
Comment by Matt Ingenthron [ 29/Dec/11 ]
Rags can look into this for next respin
Comment by Sergey Avseyev [ 25/Jan/12 ]
it is fixed in some way https://github.com/avsej/couchbase-squish but to allow run with 1.0 i removed views support
Comment by Sergey Avseyev [ 08/Apr/12 ]
Updated and deployed to http://squish.demo.couchbase.com/

Repository is here https://github.com/couchbaselabs/couchbase-squish see branch 1.2




[RCBC-171] Publish docs for Ruby SDK June 2014 release Created: 22/Apr/14  Updated: 11/Jun/14  Resolved: 11/Jun/14

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Task Priority: Critical
Reporter: Amy Kurtzman Assignee: Amy Kurtzman
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: 1h
Time Spent: Not Specified
Original Estimate: 1h

Attachments: Zip Archive couchbase-ruby-client-1.3.8.zip    

 Comments   
Comment by Amy Kurtzman [ 28/May/14 ]
No May release, change ticket to June 2014 release
Comment by Sergey Avseyev [ 11/Jun/14 ]
Docs in attachment, release notes here:

https://github.com/couchbase/couchbase-ruby-client/blob/master/RELEASE_NOTES.markdown#138-2014-06-11




[RCBC-165] Publish docs for Ruby SDK April 2014 release Created: 27/Feb/14  Updated: 22/Apr/14  Due: 04/Mar/14  Resolved: 22/Apr/14

Status: Closed
Project: Couchbase Ruby client library
Component/s: docs
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Task Priority: Critical
Reporter: Amy Kurtzman Assignee: Amy Kurtzman
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Zip Archive couchbase-ruby-client-1.3.7.zip    

 Description   
Edit and publish guide and autodocs.

 Comments   
Comment by Sergey Avseyev [ 21/Apr/14 ]
Release notes: https://github.com/couchbase/couchbase-ruby-client/blob/master/RELEASE_NOTES.markdown#137-2014-04-18




[RCBC-104] Data corruption on intensive get/set Created: 20/Dec/12  Updated: 08/Feb/13  Resolved: 20/Dec/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Critical
Reporter: Sergey Avseyev Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File corrupt.rb    

 Description   
The script attached produces the following output:

~ $ ruby corrupt.rb
corrupt.rb:8:in `get': unable to convert value for key 'mm_71': lexical error: invalid char in json text. (Couchbase::Error::ValueFormat)
                                        2 (right here) ------^
        from corrupt.rb:8:in `block (3 levels) in <main>'
        from corrupt.rb:6:in `times'
        from corrupt.rb:6:in `block (2 levels) in <main>'
        from corrupt.rb:4:in `fork'
        from corrupt.rb:4:in `block in <main>'
        from corrupt.rb:3:in `times'
        from corrupt.rb:3:in `<main>'
corrupt.rb:8:in `get': unable to convert value for key 'mm_71': lexical error: invalid char in json text. (Couchbase::Error::ValueFormat)
                                        2 (right here) ------^
Process from corrupt.rb:8:in `block (3 levels) in <main>'
        from corrupt.rb:6:in `times'
        from corrupt.rb:6:in `block (2 levels) in <main>'
        from corrupt.rb:4:in `fork'
        from corrupt.rb:4:in `block in <main>'
        from corrupt.rb:3:in `times'
        from corrupt.rb:3:in `<main>'
corrupt.rb:8:in `get': unable to convert value for key 'mm_71': lexical error: invalid char in json text. (Couchbase::Error::ValueFormat)
                                        2 (right here) ------^
        from corrupt.rb:8:in `block (3 levels) in <main>'
        from corrupt.rb:6:in `times'
        from corrupt.rb:6:in `block (2 levels) in <main>'
        from corrupt.rb:4:in `fork'
        from corrupt.rb:4:in `block in <main>'
        from corrupt.rb:3:in `times'
        from corrupt.rb:3:in `<main>'
corrupt.rb:8:in `get': unable to convert value for key 'mm_71': lexical error: invalid char in json text. (Couchbase::Error::ValueFormat)
                                        2 (right here) ------^
        from corrupt.rb:8:in `block (3 levels) in <main>'
        from corrupt.rb:6:in `times'
        from corrupt.rb:6:in `block (2 levels) in <main>'
        from corrupt.rb:4:in `fork'
        from corrupt.rb:4:in `block in <main>'
        from corrupt.rb:3:in `times'
        from corrupt.rb:3:in `<main>'


 Comments   
Comment by Sergey Avseyev [ 20/Dec/12 ]
Fixed http://review.couchbase.org/23462




[RCBC-126] support libcouchbase configuration cache Created: 02/May/13  Updated: 13/Jan/14  Resolved: 06/May/13

Status: Closed
Project: Couchbase Ruby client library
Component/s: library
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Task Priority: Critical
Reporter: Matt Ingenthron Assignee: Sergey Avseyev
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates RCBC-122 Option to enable configuration cache ... Open

 Description   
libcouchbase now has a new configuration cache feature which we should support in the Ruby client. If configured with a path, it will ensure that the bootstrap honors a configuration cache until a not_my_vbucket is received (with future support for memcached buckets).

A test would verify that a configuration cache file is created after setting libcouchbase up and bootstrapping.

This hopefully will be targeted for the release on May 7, 2013. This may be version 1.3.0, not sure yet.




[RCBC-85] undefined method `default' for Class Created: 26/Sep/12  Updated: 13/Nov/12  Resolved: 26/Sep/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: 1.2.0.z.beta
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Critical
Reporter: Patrick Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: Mac OS 10.8.1
ruby 1.9.3p194
Rails 3.2.8


 Description   
When using 'save' on an existing and previously saved document, there's a 'undefined method'-error on 'default'. 'save' and 'update' result in the same error.

class TestDoc < Couchbase::Model
  attribute :email, :default => ''
  attribute :created_at, :default => lambda { Time.zone.now }
  
  view :by_created_at
end

t = TestDoc.new(:id => request.session_options[:id])
t.save
t = TestDoc.find(request.session_options[:id])
t.email = 'hello'
t.update(:email => 'blubb')

undefined method `default' for TestDoc(id, email, created_at):Class

couchbase-model (0.4.0) lib/couchbase/model.rb:487:in `save'
(eval):4:in `block in save'
activesupport (3.2.8) lib/active_support/callbacks.rb:403:in `_run__3218406879367123135__save__4511417429032474671__callbacks'
activesupport (3.2.8) lib/active_support/callbacks.rb:405:in `__run_callback'
activesupport (3.2.8) lib/active_support/callbacks.rb:385:in `_run_save_callbacks'
activesupport (3.2.8) lib/active_support/callbacks.rb:81:in `run_callbacks'
(eval):3:in `save'
couchbase-model (0.4.0) lib/couchbase/model.rb:501:in `update'
(eval):4:in `block in update'
activesupport (3.2.8) lib/active_support/callbacks.rb:403:in `_run__3218406879367123135__update__4511417429032474671__callbacks'
activesupport (3.2.8) lib/active_support/callbacks.rb:405:in `__run_callback'
activesupport (3.2.8) lib/active_support/callbacks.rb:385:in `_run_update_callbacks'
activesupport (3.2.8) lib/active_support/callbacks.rb:81:in `run_callbacks'
(eval):3:in `update'

 Comments   
Comment by Sergey Avseyev [ 26/Sep/12 ]
http://review.couchbase.org/21123




[RCBC-4] Fatal Deadlock error when calling Couchbase.new on Ruby 1.9.2 Created: 31/Jul/11  Updated: 13/Nov/12  Resolved: 30/Aug/11

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Critical
Reporter: David Rice Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: Mac OSX Lion Ruby 1.9.2 (p180)


 Description   
Using the example code referenced in RCBC-2 (http://www.couchbase.org/issues/browse/RCBC-2)

I simply switched to using ruby 1.9.2 and attempted to run.

/Users/dave/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.2/thread.rb:71:in `sleep': deadlock detected (fatal)
from /Users/dave/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.2/thread.rb:71:in `wait'
from /Users/dave/.rvm/gems/ruby-1.9.2-p180/bundler/gems/couchbase-ruby-client-de0885eaa70f/lib/couchbase/latch.rb:66:in `block in wait'
from <internal:prelude>:10:in `synchronize'
from /Users/dave/.rvm/gems/ruby-1.9.2-p180/bundler/gems/couchbase-ruby-client-de0885eaa70f/lib/couchbase/latch.rb:65:in `wait'
from /Users/dave/.rvm/gems/ruby-1.9.2-p180/bundler/gems/couchbase-ruby-client-de0885eaa70f/lib/couchbase/bucket.rb:80:in `initialize'
from /Users/dave/.rvm/gems/ruby-1.9.2-p180/bundler/gems/couchbase-ruby-client-de0885eaa70f/lib/couchbase.rb:37:in `new'
from /Users/dave/.rvm/gems/ruby-1.9.2-p180/bundler/gems/couchbase-ruby-client-de0885eaa70f/lib/couchbase.rb:37:in `new'
from hello-world.rb:5:in `<main>'


 Comments   
Comment by Sergey Avseyev [ 30/Aug/11 ]
This issue fixed. And isn't reproducing on version 0.9.5




[RCBC-5] Timeout error on connecting to membase with Couchbase.new on Ruby 1.8.7 Created: 31/Jul/11  Updated: 13/Nov/12  Resolved: 30/Aug/11

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Critical
Reporter: David Rice Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: Max OSX Lion Ruby 1.8.7


 Description   
Again, when running example code referenced in RCBC-2 (http://www.couchbase.org/issues/browse/RCBC-2)

It simply hangs and does not execute further than the following output

https://gist.github.com/cbe76755b4476a5a1f94

It may be related to the issue with Ruby 1.9.2

http://www.couchbase.org/issues/browse/RCBC-4


 Comments   
Comment by Sergey Avseyev [ 30/Aug/11 ]
This issue fixed. And isn't reproducing on version 0.9.5




[RCBC-2] Undefined Method Get Created: 28/Jul/11  Updated: 13/Nov/12  Resolved: 30/Aug/11

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Critical
Reporter: David Rice Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: Max OSX Lion Ruby 1.8.7, 1.9.2


 Description   
Found an issue with the library that was introduced in one of the commits on the 25th or 27th of june.

/Users/dave/.rvm/gems/ruby-1.8.7-p334/bundler/gems/couchbase-ruby-client-119212c40e06/lib/couchbase/memcached.rb:90:in `get': undefined method `get' for nil:NilClass (NoMethodError)

You should be able to replicate this with the example code for the docs I have produced.
https://github.com/davidjrice/membase-examples-ruby

(All instructions to run it if you need them are in my fork of the docs) https://github.com/davidjrice/docs/tree/master/Couchbase/products/membase/membase-sdk-ruby


 Comments   
Comment by Matt Ingenthron [ 16/Aug/11 ]
Is this still valid?
Comment by Sergey Avseyev [ 30/Aug/11 ]
It was fixed and isn't reproducing on current version 0.9.5




[RCBC-64] Duplication connection instance segfaulting Created: 25/Jul/12  Updated: 13/Nov/12  Resolved: 26/Jul/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: 1.1.2, 1.2.0.dp5
Fix Version/s: 1.1.3, 1.2.0.dp6
Security Level: Public

Type: Bug Priority: Critical
Reporter: Sergey Avseyev Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
It is easy to reproduce

conn1 = Couchbase.connect
conn2 = conn1.dup

 Comments   
Comment by Sergey Avseyev [ 26/Jul/12 ]
Fixed in http://review.couchbase.org/18872




[RCBC-59] Bucket#cas doesn't set original flags Created: 18/Jul/12  Updated: 13/Nov/12  Resolved: 18/Jul/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: 1.1.2, 1.2.0.dp5
Fix Version/s: 1.1.3, 1.2.0.dp6
Security Level: Public

Type: Bug Priority: Critical
Reporter: Sergey Avseyev Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
The Bucket#cas operation resets flags

  > Couchbase.bucket.set("foo", "bar", :flags => 0x100)
  17982951084586893312
  > Couchbase.bucket.cas("foo") { "baz" }
  1712422461213442048
  > Couchbase.bucket.get("foo", :extended => true)
  ["baz", 0, 1712422461213442048]

So it could be dangerous if someone using custom flags or non-default value encoding (not :document)

 Comments   
Comment by Sergey Avseyev [ 18/Jul/12 ]
http://review.couchbase.org/18537




[RCBC-36] Issue with accessing the results of a view, view_row (seg fault) Created: 06/Jun/12  Updated: 13/Nov/12  Resolved: 07/Jun/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: 1.2.0.dp
Fix Version/s: 1.2.0.dp4
Security Level: Public

Type: Bug Priority: Critical
Reporter: David Rice Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: Couchbase Server 2.0.0.dp4.1, libcouchbase-1.1.0.dp5, Ruby 1.9


 Description   
Ocassional segfault when accessing the results of a **view** with the latest couchbase ruby client.

https://gist.github.com/2883925

 Comments   
Comment by Frank Weigel [ 06/Jun/12 ]
This is affecting the Rumble Labs POC project, please prioritize.
Comment by Matt Ingenthron [ 06/Jun/12 ]
Work has already started, high priority.
Comment by Sergey Avseyev [ 06/Jun/12 ]
Could you post your Gemfile.lock? I think you have old version of yaji gem.
Comment by Sergey Avseyev [ 06/Jun/12 ]
Posted fix on review http://review.couchbase.org/16903




[RCBC-38] 2 sets against non-default buckets fail. Created: 14/Jun/12  Updated: 13/Nov/12  Resolved: 15/Jun/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Critical
Reporter: James Mauss Assignee: Sergey Avseyev
Resolution: Cannot Reproduce Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
couchbase-1.1.2.gem
libcouchbase 1.0.2 (latest brew version)


require 'rubygems'
require 'couchbase'

cb1 = Couchbase.new("http://10.4.2.4:8091/pools/default/buckets/bucket1")
cb1.quiet = false

cb1.set('key','data', :ttl => 0)
cb1.set('key2','data', :ttl => 0)


`set': failed to schedule set request (error=0x0f) (Couchbase::Error::Network)


This works if the bucket is set to default.

 Comments   
Comment by Sergey Avseyev [ 15/Jun/12 ]
Just verified all is working. Could you attach your bucket config

curl http://10.4.2.4:8091/pools/default/buckets/bucket1 > config.json

And verify using latest homebrew, which is 1.0.4

https://github.com/mxcl/homebrew/blob/master/Library/Formula/libcouchbase.rb

I just verified and all is ok.
Comment by James Mauss [ 15/Jun/12 ]
Issue was with the vbucket map after creating all the new buckets.

If I can reproduce this, I will open one against the server.




[RCBC-6] implement OBSERVE command Created: 09/Sep/11  Updated: 13/Nov/12  Resolved: 19/Jul/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: 1.2.0.dp6
Security Level: Public

Type: New Feature Priority: Critical
Reporter: Matt Ingenthron Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Dependency
depends on CCBC-15 implement OBSERVE command Closed
Duplicate
is duplicated by RCBC-48 Implement observe command Closed

 Description   
After the server has gotten the new OBSERVE command, it will need to be added to the Ruby client library.

 Comments   
Comment by Sergey Avseyev [ 19/Jul/12 ]
http://review.couchbase.org/18591




[RCBC-163] Edit release notes for Ruby 1.3.5 Created: 05/Feb/14  Updated: 05/Feb/14  Resolved: 05/Feb/14

Status: Closed
Project: Couchbase Ruby client library
Component/s: docs
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Task Priority: Major
Reporter: Amy Kurtzman Assignee: Amy Kurtzman
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified





[RCBC-162] Upload autodocs for 1.3.5 release Created: 05/Feb/14  Updated: 06/Feb/14  Resolved: 06/Feb/14

Status: Closed
Project: Couchbase Ruby client library
Component/s: docs
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Task Priority: Major
Reporter: Sergey Avseyev Assignee: Amy Kurtzman
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Zip Archive couchbase-ruby-client-1.3.5.zip    




[RCBC-158] Ruby Client prepend and append methods return exception subsequent get Created: 12/Jan/14  Updated: 13/Jan/14  Resolved: 13/Jan/14

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Major
Reporter: deepak vohra Assignee: Sergey Avseyev
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
A value appended/prepended with append/prepend does not get appended/prepended. Subsequent get returns error:

ver =client.set("foo", "Hello")
client.prepend("foo", " World",:cas => ver)
client.get("foo")

`get': unable to convert value for key "foo": 399: unexpected token at '"Hello"]' (Couchbase::Error::ValueFormat)

 Comments   
Comment by Sergey Avseyev [ 13/Jan/14 ]
http://www.couchbase.com/autodocs/couchbase-ruby-client-1.3.4/Couchbase/Bucket.html#append-instance_method

> Note: This operation is kind of data-aware from server point of
> view. This mean that the server treats value as binary stream and
> just perform concatenation, therefore it won't work with :marshal
> and :document formats, because of lack of knowledge how to merge
> values in these formats. See #cas for workaround.

Checkout the following IRB session

1.9.3p484 (main):002:0> client = Couchbase.connect
#<Couchbase::Bucket:0x0000000231c8e0 "http://localhost:8091/pools/default/buckets/default/" transcoder=Couchbase::Transcoder::Document, default_flags=0x0, quiet=false, connected=true, timeout=2500000>
1.9.3p484 (main):003:0> client.set("foo", "Hello")
5591277005624442880
1.9.3p484 (main):004:0> client.append("foo", ", World!")
7288855759869050880
1.9.3p484 (main):005:0> client.get("foo")
", World!"
1.9.3p484 (main):006:0> client.transcoder
Couchbase::Transcoder::Document
1.9.3p484 (main):007:0> client.transcoder = nil
nil
1.9.3p484 (main):008:0> client.get("foo")
"\"Hello\"\", World!\""
1.9.3p484 (main):009:0> client.set("foo", "Hello")
14250580353290731520
1.9.3p484 (main):010:0> client.append("foo", ", World!")
10279832205661175808
1.9.3p484 (main):011:0> client.get("foo")
"Hello, World!"
1.9.3p484 (main):012:0> client.transcoder = Couchbase::Transcoder::Plain
Couchbase::Transcoder::Plain
1.9.3p484 (main):013:0> client.set("foo", "Hello")
4069549279626002432
1.9.3p484 (main):014:0> client.append("foo", ", World!")
3362301640690237440
1.9.3p484 (main):015:0> client.get("foo")
"Hello, World!"

That means you should make sure you are not using transcoder for your connection object (or using Couchbase::Transcoder::Plain) if you need append/prepend features




[RCBC-159] undefined method views Created: 12/Jan/14  Updated: 15/Jan/14  Resolved: 13/Jan/14

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: 1.3.5
Security Level: Public

Type: Task Priority: Major
Reporter: deepak vohra Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
For a design document "dev_catalog" and view "catalog_view" error
"undefined method views" is generated.
"undefined method catalog_view" is also generated.

ddoc = client.design_docs["dev_catalog"]
ddoc.views
  ddoc.catalog_view.each do |row|
  puts row.key
  puts row.value
  puts row.id
  puts row.doc
end

The ruby client version is 1.3.4

 Comments   
Comment by Sergey Avseyev [ 13/Jan/14 ]
development views are visible only in development environment. In current release there is issue with setting environment. I've fixed it in this patch http://review.couchbase.org/32318

Meanwhile, you can use this simple workaround to query development views

    require 'couchbase'
    
    class Couchbase::Bucket
      alias old_initialize initialize
      def initialize(*args)
        options = args.last
        if options.is_a?(Hash) && options[:environment]
          self.class.send(:define_method, :environment) do
            return options[:environment]
          end
        end
        old_initialize(*args)
      end
    end
    
    client = Couchbase::Bucket.new(:environment => :development)
    puts client.design_docs.inspect
Comment by deepak vohra [ 13/Jan/14 ]
Would the issue be fixed in next version or release? Thanks Sergey.
Comment by Sergey Avseyev [ 13/Jan/14 ]
yeah. it is on master branch already. and will be released in the first days of february
Comment by Sergey Avseyev [ 13/Jan/14 ]
https://github.com/couchbase/couchbase-ruby-client/commit/43cd9de7b9cd2c32ed7edd2c1ddc281b08bda198
Comment by deepak vohra [ 15/Jan/14 ]
Thanks Sergey.




[RCBC-157] add method updates value Created: 12/Jan/14  Updated: 13/Jan/14  Resolved: 13/Jan/14

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Major
Reporter: deepak vohra Assignee: Sergey Avseyev
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
The add() method for a Ruby Client instance should not set or update a value if a key is already defined. But the add method updates the value.

 Comments   
Comment by deepak vohra [ 12/Jan/14 ]
Not a bug on retest.
Comment by Sergey Avseyev [ 13/Jan/14 ]
Next time please attach logs or something which help us to reproduce issue




Documentation for Ruby 1.3.4 (RCBC-153)

[RCBC-156] Publish Ruby 1.3.4 autodocs Created: 06/Jan/14  Updated: 10/Jan/14  Resolved: 10/Jan/14

Status: Closed
Project: Couchbase Ruby client library
Component/s: docs
Affects Version/s: 1.3.4
Fix Version/s: None
Security Level: Public

Type: Technical task Priority: Major
Reporter: Amy Kurtzman Assignee: Amy Kurtzman
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: 0.5h
Time Spent: Not Specified
Original Estimate: 0.5h

Issue Links:
Gantt: finish-start
has to be done after RCBC-155 Create Ruby 1.3.4 autodocs Closed

 Description   
This task includes:
1. Upload API reference documentation to autodocs server and unzip
2. Download latest autodocs index.html file and edit add new version
3. Download latest autodocs .htaccess file and edit to point to latest version
4. Upload updated index.html and .htaccess files.
5. Verify autodocs links are correct on docs landing page, docs site and autodocs page




Documentation for Ruby 1.3.4 (RCBC-153)

[RCBC-154] Publish Ruby 1.3.4 documentation Created: 06/Jan/14  Updated: 10/Jan/14  Resolved: 10/Jan/14

Status: Closed
Project: Couchbase Ruby client library
Component/s: docs
Affects Version/s: 1.3.4
Fix Version/s: None
Security Level: Public

Type: Technical task Priority: Major
Reporter: Amy Kurtzman Assignee: Amy Kurtzman
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: 1h
Time Spent: Not Specified
Original Estimate: 1h


 Description   
This task includes:
1. Edit release notes.
2. Edit other revisions to the document.
3. Add new version to nanoc.yaml file.
4. Update & verify links on www.couchbase.com/documentation
5. Verify links & document content for docs website (docs.pub.couchbase.com)
6. Publish document on external website (docs.couchbase.com)




[RCBC-153] Documentation for Ruby 1.3.4 Created: 06/Jan/14  Updated: 10/Jan/14  Resolved: 10/Jan/14

Status: Closed
Project: Couchbase Ruby client library
Component/s: docs
Affects Version/s: 1.3.4
Fix Version/s: None
Security Level: Public

Type: Task Priority: Major
Reporter: Amy Kurtzman Assignee: Amy Kurtzman
Resolution: Done Votes: 0
Labels: None
Σ Remaining Estimate: 2h Remaining Estimate: Not Specified
Σ Time Spent: Not Specified Time Spent: Not Specified
Σ Original Estimate: 2h Original Estimate: Not Specified

Sub-Tasks:
Key
Summary
Type
Status
Assignee
RCBC-154 Publish Ruby 1.3.4 documentation Technical task Closed Amy Kurtzman  
RCBC-155 Create Ruby 1.3.4 autodocs Technical task Closed Sergey Avseyev  
RCBC-156 Publish Ruby 1.3.4 autodocs Technical task Closed Amy Kurtzman  

 Description   
Documentation tasks for Ruby 1.3.4

 Comments   
Comment by Sergey Avseyev [ 07/Jan/14 ]
I wrote a section about how to build the client from sources and prepare for contributing: http://review.couchbase.org/31696 probably it can find its place in the docs
Comment by Sergey Avseyev [ 07/Jan/14 ]
Release notes available for review here: http://review.couchbase.org/31697
Comment by Sergey Avseyev [ 08/Jan/14 ]
Release notes published on github https://github.com/couchbase/couchbase-ruby-client/blob/master/RELEASE_NOTES.markdown#134-2014-01-08




Documentation for Ruby 1.3.4 (RCBC-153)

[RCBC-155] Create Ruby 1.3.4 autodocs Created: 06/Jan/14  Updated: 10/Jan/14  Resolved: 08/Jan/14

Status: Closed
Project: Couchbase Ruby client library
Component/s: docs
Affects Version/s: 1.3.4
Fix Version/s: None
Security Level: Public

Type: Technical task Priority: Major
Reporter: Amy Kurtzman Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: 0.5h
Time Spent: Not Specified
Original Estimate: 0.5h

Attachments: Zip Archive couchbase-ruby-client-1.3.4.zip    
Issue Links:
Gantt: finish-start
has to be done before RCBC-156 Publish Ruby 1.3.4 autodocs Closed




[RCBC-152] environment setting on bucket connection doesn't set to :development when specified Created: 30/Dec/13  Updated: 13/Jan/14  Resolved: 13/Jan/14

Status: Closed
Project: Couchbase Ruby client library
Component/s: library
Affects Version/s: 1.3.3
Fix Version/s: 1.3.5
Security Level: Public

Type: Bug Priority: Major
Reporter: Anonymous Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
prod = Couchbase.new ( bucket: 'mybucket', environment: :production )
print prod.environment.to_s
p prod

dev = Couchbase.new ( bucket: 'mybucket', environment: :development )
print dev.environment.to_s
p dev

--- output

production - #<Couchbase::Bucket:0x007fab008669d0 "http://localhost:8091/pools/default/buckets/mybucket/" transcoder=Couchbase::Transcoder::Document, default_flags=0x0, quiet=false, connected=true, timeout=2500000>

production - #<Couchbase::Bucket:0x007fab0086dc08 "http://localhost:8091/pools/default/buckets/mybucket/" transcoder=Couchbase::Transcoder::Document, default_flags=0x0, quiet=false, connected=true, timeout=2500000>


 Comments   
Comment by Sergey Avseyev [ 13/Jan/14 ]
http://review.couchbase.org/32318




[RCBC-151] incr/decr do not return cas when :extended => true passed in, cas always null Created: 18/Dec/13  Updated: 13/Jan/14  Resolved: 19/Dec/13

Status: Closed
Project: Couchbase Ruby client library
Component/s: docs, library
Affects Version/s: 1.3.3
Fix Version/s: 1.3.4
Security Level: Public

Type: Bug Priority: Major
Reporter: Anonymous Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
I tried this on 1.3.3, but it might be broken in earlier releases as well....

docs say this syntax:
val, cas = c.incr("foo", :extended => true)

what I tried:
client.set(key, 100)
doc, cas = client.incr(key, :extended => true)
doc, cas = client.incr(key, 5, :extended => true)
doc, cas = client.incr(key, {:delta => 5, :extended => true})

doc, cas = client.decr(key, :extended => true)
doc, cas = client.decr(key, 5, :extended => true)
doc, cas = client.decr(key, {:delta => 5, :extended => true})

cas is always null in all 6 tests


 Comments   
Comment by Sergey Avseyev [ 19/Dec/13 ]
http://review.couchbase.org/31243




[RCBC-149] Incorrect usage of <th> tag in table Created: 15/Nov/13  Updated: 26/Nov/13  Resolved: 26/Nov/13

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Major
Reporter: Sergey Avseyev Assignee: Amy Kurtzman
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File incorrect-usage-of-th-tag.png    

 Description   
First column should be marked up as header, not the first row

 Comments   
Comment by Amy Kurtzman [ 19/Nov/13 ]
It's a conversion artifact from old to new doc system. I can fix it.




[RCBC-148] Missing syntax highlight Created: 15/Nov/13  Updated: 26/Nov/13  Resolved: 26/Nov/13

Status: Closed
Project: Couchbase Ruby client library
Component/s: docs
Affects Version/s: None
Fix Version/s: 1.2.0, 1.3.0
Security Level: Public

Type: Bug Priority: Major
Reporter: Sergey Avseyev Assignee: Amy Kurtzman
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File missing-syntax-highlight.png    

 Description   
Almost all ruby examples doesn't have syntax highlighting




[RCBC-136] Support ruby 2.0.0 on windows Created: 19/Aug/13  Updated: 13/Jan/14  Resolved: 19/Aug/13

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: 1.3.3
Security Level: Public

Type: Task Priority: Major
Reporter: Sergey Avseyev Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
http://www.couchbase.com/communities/q-and-a/unable-install-couchbase-gem-windows

 Comments   
Comment by Sergey Avseyev [ 19/Aug/13 ]
couchbase gem: http://review.couchbase.org/28344
Comment by Sergey Avseyev [ 19/Aug/13 ]
yaji gem: https://github.com/avsej/yaji/commit/d0b514dce8e1318b2700970daaef84c6c0e13dd4

2.0.0 aware version released in yaji-0.3.4




[RCBC-137] Allow to select new backends: select and iocp Created: 19/Aug/13  Updated: 13/Jan/14  Resolved: 19/Aug/13

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: 1.3.3
Security Level: Public

Type: Task Priority: Major
Reporter: Sergey Avseyev Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Comments   
Comment by Sergey Avseyev [ 19/Aug/13 ]
http://review.couchbase.org/28349




[RCBC-145] Provide release notes for 1.3.3 Created: 14/Nov/13  Updated: 19/Nov/13  Resolved: 19/Nov/13

Status: Closed
Project: Couchbase Ruby client library
Component/s: docs
Affects Version/s: 1.3.3
Fix Version/s: 1.3.3
Security Level: Public

Type: Task Priority: Major
Reporter: Amy Kurtzman Assignee: Amy Kurtzman
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Dependency
blocks RCBC-146 Publish release notes for 1.3.3 Closed
Gantt: finish-start
has to be done before RCBC-146 Publish release notes for 1.3.3 Closed

 Description   
The current document does not contain release notes for version 1.3.3. Please provide them.

http://docs.couchbase.com/couchbase-sdk-ruby-1.3/#appendix-release-notes

 Comments   
Comment by Sergey Avseyev [ 15/Nov/13 ]
Can I delegate this task to doc team?

Release notes are living in markdown format here:

https://github.com/couchbase/couchbase-ruby-client/blob/1.3.3/RELEASE_NOTES.markdown#133-2013-09-12

libcouchbase has similar file in the same format (replace 'master' with tag you need)
https://github.com/couchbase/libcouchbase/blob/master/RELEASE_NOTES.markdown
Comment by Amy Kurtzman [ 15/Nov/13 ]
Sure, I can get them from the file in your GitHub directory.




[RCBC-147] Broken layout of preformatted text Created: 15/Nov/13  Updated: 26/Nov/13  Resolved: 26/Nov/13

Status: Closed
Project: Couchbase Ruby client library
Component/s: docs
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Major
Reporter: Sergey Avseyev Assignee: Amy Kurtzman
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File broken-layout-of-preformatted-text.png    

 Description   
There are a lot of places when preformatted text written in red and the layout of it broken, causing huge horisontal scrollbars

 Comments   
Comment by Amy Kurtzman [ 26/Nov/13 ]
This problem was caused by the conversion from docbook to markdown. Fix is to reformat offending code blocks.




[RCBC-146] Publish release notes for 1.3.3 Created: 14/Nov/13  Updated: 19/Nov/13  Resolved: 19/Nov/13

Status: Closed
Project: Couchbase Ruby client library
Component/s: docs
Affects Version/s: 1.3.3
Fix Version/s: 1.3.3
Security Level: Public

Type: Task Priority: Major
Reporter: Amy Kurtzman Assignee: Amy Kurtzman
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Dependency
depends on RCBC-145 Provide release notes for 1.3.3 Closed
Gantt: finish-start
has to be done after RCBC-145 Provide release notes for 1.3.3 Closed

 Description   
Edit and publish version 1.3.3 release notes.

 Comments   
Comment by Sergey Avseyev [ 15/Nov/13 ]
https://github.com/couchbase/couchbase-ruby-client/blob/1.3.3/RELEASE_NOTES.markdown#133-2013-09-12
Comment by Sergey Avseyev [ 15/Nov/13 ]
In raw markdown format:

https://raw.github.com/couchbase/couchbase-ruby-client/1.3.3/RELEASE_NOTES.markdown




[RCBC-141] Segmentation Fault during server rebalancing Created: 29/Aug/13  Updated: 13/Jan/14  Resolved: 04/Sep/13

Status: Closed
Project: Couchbase Ruby client library
Component/s: library
Affects Version/s: 1.2.0, 1.2.1, 1.2.2, 1.2.3, 1.3.0, 1.3.1, 1.3.2
Fix Version/s: 1.3.3
Security Level: Public

Type: Bug Priority: Major
Reporter: Alexey Mirniy Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: Ubuntu 12.04

Server: Version: 2.1.1 enterprise edition (build-764)
Client:
aptitude show libcouchbase2:
Package: libcouchbase2
State: installed
Automatically installed: no
Version: 2.0.7-2282

Ruby ruby 1.9.3p448 (2013-06-27 revision 41675) [i686-linux]
Gems included by the bundle:
  * awesome_print (1.1.0)
  * bundler (1.3.5)
  * connection_pool (1.0.0)
  * couchbase (1.3.2)
  * multi_json (1.7.9)
  * yaji (0.3.4)


Attachments: Text File trace_rebalance.txt    

 Description   
Segmentation Fault during server rebalancing

here is dbg backtrace:
#0 0xb7ab6ff3 in ?? () from /usr/lib/libcouchbase.so.2
#1 0xb7aea309 in callbacks_run (callbacks=<optimized out>) at multithread_plugin.c:460
#2 loop_run_select (argp=141295600) at multithread_plugin.c:640
#3 0x0805cb69 in rb_ensure (b_proc=0xb7aea010 <loop_run_select>, data1=141295600, e_proc=0xb7ae9d30 <loop_select_cleanup>, data2=138595180) at eval.c:744
#4 0xb7ae9671 in loop_run (loop=0x85b80d0) at multithread_plugin.c:893
#5 lcb_io_run_event_loop (iops=0x85b8070) at multithread_plugin.c:1014
#6 0xb7ac4b25 in lcb_wait () from /usr/lib/libcouchbase.so.2
#7 0xb7ade569 in do_loop (bucket=<optimized out>) at bucket.c:1170
#8 do_run (args=0xbfffe85c) at bucket.c:1220
#9 0x0805cb69 in rb_ensure (b_proc=0xb7ade480 <do_run>, data1=3221219420, e_proc=0xb7ade460 <ensure_run>, data2=3221219420) at eval.c:744
#10 0xb7ae0b72 in cb_bucket_run (argc=0, argv=0xb7b220b4, self=138262560) at bucket.c:1307
#11 0x0814ee55 in call_cfunc (func=0xb7ae0ae0 <cb_bucket_run>, recv=<optimized out>, len=-1, argc=0, argv=0xb7b220b4) at vm_insnhelper.c:317
#12 0x0815e864 in vm_call_cfunc (me=0x86ac988, blockptr=0xb7ba1e0c, recv=<optimized out>, num=<optimized out>, reg_cfp=0xb7ba1df8, th=0x8269b88) at vm_insnhelper.c:404
#13 vm_call_method (th=0x8269b88, cfp=0xb7ba1df8, num=<optimized out>, blockptr=0xb7ba1e0c, flag=0, id=9936, me=0x86ac988, recv=138262560) at vm_insnhelper.c:530
#14 0x08153a4b in vm_exec_core (th=0x8269b88, initial=<optimized out>) at insns.def:1018
#15 0x08158ddc in vm_exec (th=0x8269b88) at vm.c:1236
#16 0x08159c01 in invoke_block_from_c (th=0x8269b88, block=<optimized out>, self=138264140, argc=0, argv=0x0, blockptr=0x0, cref=0x0) at vm.c:640
#17 0x0815ee4e in vm_yield (th=<optimized out>, argv=0x0, argc=0) at vm.c:670
#18 rb_yield_0 (argv=0x0, argc=0) at vm_eval.c:777
#19 loop_i () at vm_eval.c:835
#20 0x0805c831 in rb_rescue2 (b_proc=0x815ee20 <loop_i>, data1=0, r_proc=0, data2=0) at eval.c:647
#21 0x0814f061 in rb_f_loop (self=138264140) at vm_eval.c:863
#22 0x0815e864 in vm_call_cfunc (me=0x82b4d30, blockptr=0xb7ba1ebc, recv=<optimized out>, num=<optimized out>, reg_cfp=0xb7ba1ea8, th=0x8269b88) at vm_insnhelper.c:404
#23 vm_call_method (th=0x8269b88, cfp=0xb7ba1ea8, num=<optimized out>, blockptr=0xb7ba1ebc, flag=8, id=2904, me=0x82b4d30, recv=138264140) at vm_insnhelper.c:530
#24 0x08153a4b in vm_exec_core (th=0x8269b88, initial=<optimized out>) at insns.def:1018
#25 0x08158ddc in vm_exec (th=0x8269b88) at vm.c:1236
#26 0x08159c01 in invoke_block_from_c (th=0x8269b88, block=<optimized out>, self=136958720, argc=0, argv=0x0, blockptr=0x0, cref=0x0) at vm.c:640
#27 0x0815ee4e in vm_yield (th=<optimized out>, argv=0x0, argc=0) at vm.c:670
#28 rb_yield_0 (argv=0x0, argc=0) at vm_eval.c:777
#29 loop_i () at vm_eval.c:835
#30 0x0805c831 in rb_rescue2 (b_proc=0x815ee20 <loop_i>, data1=0, r_proc=0, data2=0) at eval.c:647
#31 0x0814f061 in rb_f_loop (self=136958720) at vm_eval.c:863
#32 0x0815e864 in vm_call_cfunc (me=0x82b4d30, blockptr=0xb7ba1f98, recv=<optimized out>, num=<optimized out>, reg_cfp=0xb7ba1f84, th=0x8269b88) at vm_insnhelper.c:404
#33 vm_call_method (th=0x8269b88, cfp=0xb7ba1f84, num=<optimized out>, blockptr=0xb7ba1f98, flag=8, id=2904, me=0x82b4d30, recv=136958720) at vm_insnhelper.c:530
#34 0x08153a4b in vm_exec_core (th=0x8269b88, initial=<optimized out>) at insns.def:1018
#35 0x08158ddc in vm_exec (th=0x8269b88) at vm.c:1236
#36 0x0815f757 in rb_iseq_eval_main (iseqval=138260580) at vm.c:1478
#37 0x0805a094 in ruby_exec_internal (n=0x83db064) at eval.c:204
#38 0x0805c419 in ruby_exec_node (n=0x83db064) at eval.c:251
#39 ruby_run_node (n=0x83db064) at eval.c:244
#40 0x08059b1a in main (argc=2, argv=0xbffff724) at main.c:38

 Comments   
Comment by Sergey Avseyev [ 02/Sep/13 ]
Reproducing on my machine:

(gdb) bt
#0 0x00007f108c6a31e5 in __GI_raise (sig=sig@entry=0x6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1 0x00007f108c6a6398 in __GI_abort () at abort.c:90
#2 0x00007f108d9495e5 in rb_bug (fmt=0x7f108d981e6b "Segmentation fault") at error.c:309
#3 0x00007f108d879732 in sigsegv (sig=0xb, info=0x7f108ee80af0, ctx=0x7f108ee809c0) at signal.c:672
#4 <signal handler called>
#5 0x00007f108b6f5119 in lcb_error_handler (instance=0x0, error=LCB_CLIENT_ENOMEM, errinfo=0x0) at src/error.c:62
#6 0x00007f108b6fe642 in lcb_sockrw_v0_read (conn=0x7f108f092d78, buf=0x7f108f092430) at src/readwrite.c:34
#7 0x00007f108b6fe741 in lcb_sockrw_v0_slurp (conn=0x7f108f092d78, buf=0x7f108f092430) at src/readwrite.c:71
#8 0x00007f108b7020e4 in do_read_data (c=0x7f108f092ca0, allow_read=0x2) at src/server_io.c:39
#9 0x00007f108b7022cc in lcb_server_v0_event_handler (sock=0x8, which=0x2, arg=0x7f108f092ca0) at src/server_io.c:104
#10 0x00007f108b92e46b in callbacks_run (callbacks=0x7f108f28dfb0) at ../../../../ext/couchbase_ext/multithread_plugin.c:460
#11 0x00007f108b92ea30 in loop_run_select (argp=0x7f108ef5da20) at ../../../../ext/couchbase_ext/multithread_plugin.c:640
#12 0x00007f108d7bdc83 in rb_ensure (b_proc=0x7f108b92e73a <loop_run_select>, data1=0x7f108ef5da20, e_proc=0x7f108b92ea75 <loop_select_cleanup>, data2=0x7f108f227a58) at eval.c:813
#13 0x00007f108b92f0c5 in loop_run (loop=0x7f108f28df90) at ../../../../ext/couchbase_ext/multithread_plugin.c:896
#14 0x00007f108b92f40f in lcb_io_run_event_loop (iops=0x7f108f28ded0) at ../../../../ext/couchbase_ext/multithread_plugin.c:1017
#15 0x00007f108b7058e1 in lcb_wait (instance=0x7f108f3e44c0) at src/wait.c:77
#16 0x00007f108b92d45e in cb_bucket_store (cmd=LCB_SET, argc=0x2, argv=0x7f108c56d070, self=0x7f108ee364d0) at ../../../../ext/couchbase_ext/store.c:159
#17 0x00007f108b92d57a in cb_bucket_set (argc=0x2, argv=0x7f108c56d070, self=0x7f108ee364d0) at ../../../../ext/couchbase_ext/store.c:282
#18 0x00007f108d8e2f50 in call_cfunc_m1 (func=0x7f108b92d550 <cb_bucket_set>, recv=0x7f108ee364d0, argc=0x2, argv=0x7f108c56d070) at vm_insnhelper.c:1325
#19 0x00007f108d8e3b05 in vm_call_cfunc_with_frame (th=0x7f108ee16590, reg_cfp=0x7f108c66ced0, ci=0x7f108f1b6428) at vm_insnhelper.c:1469
#20 0x00007f108d8e3c12 in vm_call_cfunc (th=0x7f108ee16590, reg_cfp=0x7f108c66ced0, ci=0x7f108f1b6428) at vm_insnhelper.c:1559
#21 0x00007f108d8e8807 in vm_exec_core (th=0x7f108ee16590, initial=0x0) at insns.def:1017
#22 0x00007f108d8f7a83 in vm_exec (th=0x7f108ee16590) at vm.c:1201
#23 0x00007f108d8f652c in invoke_block_from_c (th=0x7f108ee16590, block=0x7f108c66cf90, self=0x7f108ee7a4c8, argc=0x0, argv=0x0, blockptr=0x0, cref=0x0, defined_class=0x8) at vm.c:648
#24 0x00007f108d8f665b in vm_yield (th=0x7f108ee16590, argc=0x0, argv=0x0) at vm.c:679
#25 0x00007f108d8f2ca3 in rb_yield_0 (argc=0x0, argv=0x0) at vm_eval.c:913
#26 0x00007f108d8f2f51 in loop_i () at vm_eval.c:971
#27 0x00007f108d7bd769 in rb_rescue2 (b_proc=0x7f108d8f2f3e <loop_i>, data1=0x0, r_proc=0x0, data2=0x0) at eval.c:714
#28 0x00007f108d8f2ff4 in rb_f_loop (self=0x7f108ee7a4c8) at vm_eval.c:1005
#29 0x00007f108d8e2f7b in call_cfunc_0 (func=0x7f108d8f2f7d <rb_f_loop>, recv=0x7f108ee7a4c8, argc=0x0, argv=0x7f108c56d048) at vm_insnhelper.c:1331
#30 0x00007f108d8e3b05 in vm_call_cfunc_with_frame (th=0x7f108ee16590, reg_cfp=0x7f108c66cf70, ci=0x7f108f1b5738) at vm_insnhelper.c:1469
#31 0x00007f108d8e3c12 in vm_call_cfunc (th=0x7f108ee16590, reg_cfp=0x7f108c66cf70, ci=0x7f108f1b5738) at vm_insnhelper.c:1559
#32 0x00007f108d8e46e7 in vm_call_method (th=0x7f108ee16590, cfp=0x7f108c66cf70, ci=0x7f108f1b5738) at vm_insnhelper.c:1751
#33 0x00007f108d8e4efe in vm_call_general (th=0x7f108ee16590, reg_cfp=0x7f108c66cf70, ci=0x7f108f1b5738) at vm_insnhelper.c:1902
#34 0x00007f108d8e86e8 in vm_exec_core (th=0x7f108ee16590, initial=0x0) at insns.def:1002
#35 0x00007f108d8f7a83 in vm_exec (th=0x7f108ee16590) at vm.c:1201
#36 0x00007f108d8f88c9 in rb_iseq_eval_main (iseqval=0x7f108efefc90) at vm.c:1449
#37 0x00007f108d7bc76b in ruby_exec_internal (n=0x7f108efefc90) at eval.c:250
#38 0x00007f108d7bc884 in ruby_exec_node (n=0x7f108efefc90) at eval.c:315
#39 0x00007f108d7bc857 in ruby_run_node (n=0x7f108efefc90) at eval.c:307
#40 0x00007f108d7bab02 in main (argc=0x2, argv=0x7fff7264ec28) at main.c:36
Comment by Sergey Avseyev [ 03/Sep/13 ]
As far as issue in the default IO plugin, which shipped with the gem, you can workaround the issue by using the plugin from libcouchbase.

The following code will choose select(2) implementation

Couchbase.connect(:engine => :select)

If you have installed libcouchbase2-libevent package

Couchbase.connect(:engine => :libevent)

I'm working on the fix now.
Comment by Sergey Avseyev [ 04/Sep/13 ]
I've found the issue. Working on fix now
Comment by Sergey Avseyev [ 04/Sep/13 ]
http://review.couchbase.org/28790




[RCBC-140] Segfault using ruby 2 Created: 26/Aug/13  Updated: 13/Jan/14  Resolved: 12/Sep/13

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: 1.3.2
Fix Version/s: 1.3.3
Security Level: Public

Type: Bug Priority: Major
Reporter: Sergey Avseyev Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Copied from Q&A site:

http://www.couchbase.com/communities/q-and-a/segfault-using-ruby2

I couldn't find anyone else having this issue, but I'm having trouble getting started with Couchbase using Ruby2. I'm getting a segmentation fault trying to access a document in the beer-sample bucket.

I'm using:
Ruby 2.0.0-p247 (using irb)
libcouchbase 2.1.1 (from homebrew)
couchbase gem 1.3.2

The error is:
2.0.0-p247 :006 > beer = client.get("aass_brewery-juleol")
(irb):6: [BUG] Segmentation fault
ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin12.4.0]

-- Crash Report log information --------------------------------------------
See Crash Report log file under the one of following:
* ~/Library/Logs/CrashReporter
* /Library/Logs/CrashReporter
* ~/Library/Logs/DiagnosticReports
* /Library/Logs/DiagnosticReports
the more detail of.

-- Control frame information -----------------------------------------------
c:0019 p:---- s:0077 e:000076 CFUNC :get
c:0018 p:0008 s:0073 E:000b00 EVAL (irb):6 [FINISH]
c:0017 p:---- s:0070 e:000069 CFUNC :eval
c:0016 p:0024 s:0063 e:000062 METHOD /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb/workspace.rb:86
c:0015 p:0025 s:0056 e:000054 METHOD /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb/context.rb:380
c:0014 p:0022 s:0050 e:000049 BLOCK /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb.rb:492
c:0013 p:0040 s:0042 e:000041 METHOD /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb.rb:624
c:0012 p:0009 s:0037 e:000036 BLOCK /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb.rb:489
c:0011 p:0118 s:0033 e:000032 BLOCK /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb/ruby-lex.rb:247 [FINISH]
c:0010 p:---- s:0030 e:000029 CFUNC :loop
c:0009 p:0007 s:0027 e:000026 BLOCK /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb/ruby-lex.rb:233 [FINISH]
c:0008 p:---- s:0025 e:000024 CFUNC :catch
c:0007 p:0015 s:0021 e:000020 METHOD /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb/ruby-lex.rb:232
c:0006 p:0030 s:0018 E:002608 METHOD /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb.rb:488
c:0005 p:0008 s:0015 e:000014 BLOCK /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb.rb:397 [FINISH]
c:0004 p:---- s:0013 e:000012 CFUNC :catch
c:0003 p:0143 s:0009 E:0001d8 METHOD /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb.rb:396
c:0002 p:0122 s:0004 E:002328 EVAL /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/bin/irb:16 [FINISH]
c:0001 p:0000 s:0002 E:000a58 TOP [FINISH]

/Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/bin/irb:16:in `'
/Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb.rb:396:in `start'
/Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb.rb:396:in `catch'
/Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb.rb:397:in `block in start'
/Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb.rb:488:in `eval_input'
/Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb/ruby-lex.rb:232:in `each_top_level_statement'
/Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb/ruby-lex.rb:232:in `catch'
/Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb/ruby-lex.rb:233:in `block in each_top_level_statement'
/Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb/ruby-lex.rb:233:in `loop'
/Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb/ruby-lex.rb:247:in `block (2 levels) in each_top_level_statement'
/Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb.rb:489:in `block in eval_input'
/Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb.rb:624:in `signal_status'
/Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb.rb:492:in `block (2 levels) in eval_input'
/Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb/context.rb:380:in `evaluate'
/Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb/workspace.rb:86:in `evaluate'
/Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb/workspace.rb:86:in `eval'
(irb):6:in `irb_binding'
(irb):6:in `get'

-- C level backtrace information -------------------------------------------

-- Other runtime information -----------------------------------------------

* Loaded script: irb

* Loaded features:

0 enumerator.so
1 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/x86_64-darwin12.4.0/enc/encdb.bundle
2 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/x86_64-darwin12.4.0/enc/trans/transdb.bundle
3 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/x86_64-darwin12.4.0/rbconfig.rb
4 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/compatibility.rb
5 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/defaults.rb
6 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/deprecate.rb
7 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/errors.rb
8 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/version.rb
9 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/requirement.rb
10 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/platform.rb
11 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/specification.rb
12 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/exceptions.rb
13 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_gem.rb
14 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/thread.rb
15 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/monitor.rb
16 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb
17 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems.rb
18 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/e2mmap.rb
19 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb/init.rb
20 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb/workspace.rb
21 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb/inspector.rb
22 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb/context.rb
23 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb/extend-command.rb
24 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb/output-method.rb
25 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb/notifier.rb
26 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb/slex.rb
27 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb/ruby-token.rb
28 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb/ruby-lex.rb
29 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb/src_encoding.rb
30 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb/magic-file.rb
31 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/x86_64-darwin12.4.0/readline.bundle
32 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb/input-method.rb
33 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb/locale.rb
34 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb.rb
35 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/path_support.rb
36 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/dependency.rb
37 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/irb/completion.rb
38 /Volumes/Data/Users/michaelmarini/.rvm/scripts/irbrc.rb
39 /Volumes/Data/Users/michaelmarini/.rvm/gems/ruby-2.0.0-p247/gems/couchbase-1.3.2/lib/couchbase/version.rb
40 /Volumes/Data/Users/michaelmarini/.rvm/gems/ruby-2.0.0-p247/gems/yaji-0.3.4/lib/yaji/version.rb
41 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/x86_64-darwin12.4.0/stringio.bundle
42 /Volumes/Data/Users/michaelmarini/.rvm/gems/ruby-2.0.0-p247/gems/yaji-0.3.4/lib/parser_ext.bundle
43 /Volumes/Data/Users/michaelmarini/.rvm/gems/ruby-2.0.0-p247/gems/yaji-0.3.4/lib/yaji.rb
44 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/uri/common.rb
45 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/uri/generic.rb
46 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/uri/ftp.rb
47 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/uri/http.rb
48 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/uri/https.rb
49 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/uri/ldap.rb
50 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/uri/ldaps.rb
51 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/uri/mailto.rb
52 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/uri.rb
53 /Volumes/Data/Users/michaelmarini/.rvm/gems/ruby-2.0.0-p247/gems/multi_json-1.7.8/lib/multi_json/options.rb
54 /Volumes/Data/Users/michaelmarini/.rvm/gems/ruby-2.0.0-p247/gems/multi_json-1.7.8/lib/multi_json/version.rb
55 /Volumes/Data/Users/michaelmarini/.rvm/gems/ruby-2.0.0-p247/gems/multi_json-1.7.8/lib/multi_json/load_error.rb
56 /Volumes/Data/Users/michaelmarini/.rvm/gems/ruby-2.0.0-p247/gems/multi_json-1.7.8/lib/multi_json.rb
57 /Volumes/Data/Users/michaelmarini/.rvm/gems/ruby-2.0.0-p247/gems/json-1.8.0/lib/json/version.rb
58 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/ostruct.rb
59 /Volumes/Data/Users/michaelmarini/.rvm/gems/ruby-2.0.0-p247/gems/json-1.8.0/lib/json/generic_object.rb
60 /Volumes/Data/Users/michaelmarini/.rvm/gems/ruby-2.0.0-p247/gems/json-1.8.0/lib/json/common.rb
61 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/x86_64-darwin12.4.0/enc/utf_16be.bundle
62 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/x86_64-darwin12.4.0/enc/utf_16le.bundle
63 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/x86_64-darwin12.4.0/enc/utf_32be.bundle
64 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/x86_64-darwin12.4.0/enc/utf_32le.bundle
65 /Volumes/Data/Users/michaelmarini/.rvm/gems/ruby-2.0.0-p247/gems/json-1.8.0/lib/json/ext/parser.bundle
66 /Volumes/Data/Users/michaelmarini/.rvm/gems/ruby-2.0.0-p247/gems/json-1.8.0/lib/json/ext/generator.bundle
67 /Volumes/Data/Users/michaelmarini/.rvm/gems/ruby-2.0.0-p247/gems/json-1.8.0/lib/json/ext.rb
68 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/singleton.rb
69 /Volumes/Data/Users/michaelmarini/.rvm/gems/ruby-2.0.0-p247/gems/multi_json-1.7.8/lib/multi_json/adapter.rb
70 /Volumes/Data/Users/michaelmarini/.rvm/gems/ruby-2.0.0-p247/gems/multi_json-1.7.8/lib/multi_json/adapters/json_common.rb
71 /Volumes/Data/Users/michaelmarini/.rvm/gems/ruby-2.0.0-p247/gems/multi_json-1.7.8/lib/multi_json/adapters/json_gem.rb
72 /Volumes/Data/Users/michaelmarini/.rvm/gems/ruby-2.0.0-p247/gems/couchbase-1.3.2/lib/ext/multi_json_fix.rb
73 /Volumes/Data/Users/michaelmarini/.rvm/gems/ruby-2.0.0-p247/gems/couchbase-1.3.2/lib/couchbase/transcoder.rb
74 /Volumes/Data/Users/michaelmarini/.rvm/gems/ruby-2.0.0-p247/gems/couchbase-1.3.2/lib/couchbase_ext.bundle
75 /Volumes/Data/Users/michaelmarini/.rvm/gems/ruby-2.0.0-p247/gems/couchbase-1.3.2/lib/couchbase/constants.rb
76 /Volumes/Data/Users/michaelmarini/.rvm/gems/ruby-2.0.0-p247/gems/couchbase-1.3.2/lib/couchbase/utils.rb
77 /Volumes/Data/Users/michaelmarini/.rvm/gems/ruby-2.0.0-p247/gems/couchbase-1.3.2/lib/couchbase/bucket.rb
78 /Volumes/Data/Users/michaelmarini/.rvm/gems/ruby-2.0.0-p247/gems/couchbase-.3.2/lib/couchbase/view_row.rb
79 /Volumes/Data/Users/michaelmarini/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/base64.rb
80 /Volumes/Data/Users/michaelmarini/.rvm/gems/ruby-2.0.0-p247/gems/couchbase-.3.2/lib/couchbase/view.rb
81 /Volumes/Data/Users/michaelmarini/.rvm/gems/ruby-2.0.0-p247/gems/couchbase-.3.2/lib/couchbase/result.rb
82 /Volumes/Data/Users/michaelmarini/.rvm/gems/ruby-2.0.0-p247/gems/couchbase-.3.2/lib/couchbase/cluster.rb
83 /Volumes/Data/Users/michaelmarini/.rvm/gems/ruby-2.0.0-p247/gems/couchbase-.3.2/lib/couchbase.rb

[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html

Abort trap: 6

- See more at: http://www.couchbase.com/communities/q-and-a/segfault-using-ruby2#sthash.cygG0ngc.dpuf

 Comments   
Comment by mmarini [ 07/Sep/13 ]
Hi,

As the guy who originally raised this on the Q&A site, just wanted to note that I've upgraded to libcouchbase 2.1.2 re-ran the example and segfault no longer occurs.

I think that this issue can be closed.

Thanks,

Mike




[RCBC-135] Library is segfaulting under GC.stress Created: 05/Aug/13  Updated: 13/Jan/14  Resolved: 04/Sep/13

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: 1.3.3
Security Level: Public

Type: Task Priority: Major
Reporter: Sergey Avseyev Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Comments   
Comment by Sergey Avseyev [ 05/Aug/13 ]
http://review.couchbase.org/27917




[RCBC-143] generate rdoc for ruby 1.3.3 for autodocs site Created: 14/Nov/13  Updated: 19/Nov/13  Resolved: 15/Nov/13

Status: Closed
Project: Couchbase Ruby client library
Component/s: docs
Affects Version/s: 1.3.3
Fix Version/s: 1.3.3
Security Level: Public

Type: Task Priority: Major
Reporter: Matt Ingenthron Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Zip Archive couchbase-ruby-client-1.3.3.zip    
Issue Links:
Dependency
blocks RCBC-144 Publish RDoc for 1.3.3 to autodocs site Closed

 Description   
Please generate and attach the RDoc for version 1.3.3.




[RCBC-144] Publish RDoc for 1.3.3 to autodocs site Created: 14/Nov/13  Updated: 19/Nov/13  Resolved: 19/Nov/13

Status: Closed
Project: Couchbase Ruby client library
Component/s: docs
Affects Version/s: 1.3.3
Fix Version/s: 1.3.3
Security Level: Public

Type: Task Priority: Major
Reporter: Matt Ingenthron Assignee: Amy Kurtzman
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Dependency
depends on RCBC-143 generate rdoc for ruby 1.3.3 for auto... Closed

 Comments   
Comment by Sergey Avseyev [ 15/Nov/13 ]
Docs attached to RCBC-143




[RCBC-120] Docs: Reference installation Created: 11/Feb/13  Updated: 13/Jan/14  Resolved: 13/Jan/14

Status: Closed
Project: Couchbase Ruby client library
Component/s: docs
Affects Version/s: 1.2.1
Fix Version/s: None
Security Level: Public

Type: Improvement Priority: Major
Reporter: Perry Krug Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Customers have lots of choices at their fingertips, and many of those choices will result in a non-functioning installation, or at least a lot of time spent figuring out what the right pieces are.

Can we please provide as much details as possible about a reference installation that we can be sure will work for a customer who is just getting started? This is outside of our support for any one operatin system, but more about telling the customer "if you install with these versions and packages, this code will work"

-OS
-"language" version (Ruby 1.9.3, etc)
-other packages/modules required and/or tested with

 Comments   
Comment by Sergey Avseyev [ 13/Jan/14 ]
http://review.couchbase.org/32334




[RCBC-118] Docs are saying that it should be #total_entries method defined on the View result, but actually it named as #total_rows Created: 07/Feb/13  Updated: 12/Feb/13  Resolved: 07/Feb/13

Status: Closed
Project: Couchbase Ruby client library
Component/s: docs, library
Affects Version/s: 1.2.0, 1.2.1
Fix Version/s: 1.2.2
Security Level: Public

Type: Bug Priority: Major
Reporter: Sergey Avseyev Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Comments   
Comment by Sergey Avseyev [ 07/Feb/13 ]
http://review.couchbase.org/24464




[RCBC-117] Write the getting started with Ruby on Linux section of the essential guide Created: 04/Feb/13  Updated: 21/Jan/14  Resolved: 21/Jan/14

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Task Priority: Major
Reporter: MC Brown (Inactive) Assignee: Amy Kurtzman
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Write the Getting started with Ruby on Linux (Redhat and Debian) section of the Essentials Guide

Needs to cover:

Installation of the Ruby gem/components and pre-requisites
Writing your first (small) app using Couchbase and Ruby

Submissions should be to MC, either through the couchbase/docs repo, or direct to MC in whatever format suits. Must include both the text and images.

 Comments   
Comment by Sergey Avseyev [ 13/Jan/14 ]
Do we have it covered in the docs?
Comment by Matt Ingenthron [ 21/Jan/14 ]
Closing for now, since essentials guides are not planned.




[RCBC-116] Write the Getting Started with Ruby on Mac OS X section of the essentials guide Created: 04/Feb/13  Updated: 21/Jan/14  Resolved: 21/Jan/14

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Task Priority: Major
Reporter: MC Brown (Inactive) Assignee: Amy Kurtzman
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Write the Getting started with Ruby on Mac OS X section of the Essentials Guide

Needs to cover:

Installation of the Ruby gem/components and pre-requisites
Writing your first (small) app using Couchbase and Ruby

Submissions should be to MC, either through the couchbase/docs repo, or direct to MC in whatever format suits. Must include both the text and images.

 Comments   
Comment by Sergey Avseyev [ 13/Jan/14 ]
Do we have it covered in the docs?
Comment by Matt Ingenthron [ 21/Jan/14 ]
Closing for now, since essentials guides are not planned.




[RCBC-115] Write the GettingStarted with Ruby section of the essentials guides Created: 04/Feb/13  Updated: 21/Jan/14  Resolved: 21/Jan/14

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Task Priority: Major
Reporter: MC Brown (Inactive) Assignee: Amy Kurtzman
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Write the Getting started with Ruby on Windows section of the Essentials Guide

Needs to cover:

Installation of the Ruby gem/components and pre-requisites
Writing your first (small) app using Couchbase and Ruby

Submissions should be to MC, either through the couchbase/docs repo, or direct to MC in whatever format suits. Must include both the text and images.

 Comments   
Comment by Sergey Avseyev [ 13/Jan/14 ]
Do we have it covered in the docs?
Comment by Matt Ingenthron [ 21/Jan/14 ]
Closing for now, since essentials guides are not planned.




[RCBC-112] Append/Prepend Operations adds extra quote characters on string value provided Created: 19/Jan/13  Updated: 08/Feb/13  Resolved: 22/Jan/13

Status: Closed
Project: Couchbase Ruby client library
Component/s: library
Affects Version/s: 1.2.1
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Major
Reporter: Anonymous Assignee: Sergey Avseyev
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: Mac OS X Mountain Lion


 Description   
Append/Prepend operations are not defaulting to :format => :plain, and without it are adding extra quote characters. If you use :format => :plain on every prepend/append operation it works as expected, but that is supposed to be the default for these operations.

see: https://gist.github.com/6c1762696ff5fe769a78




 Comments   
Comment by Sergey Avseyev [ 22/Jan/13 ]
I'd like to close it as _Won't fix_ because it isn't issues of the library itself

As far as you started operating on the value considering one format, you should continue to do so. The mutators doesn't have any knowledge about the format of the value except connection-wise format and the explicit option. This is why you should either turn your connection into :plain mode or use :format => :plain everywhere




[RCBC-110] SEGV during set operation when using/running ruby client multi-threaded Created: 17/Jan/13  Updated: 08/Feb/13  Resolved: 17/Jan/13

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Major
Reporter: Charles Leu Assignee: Sergey Avseyev
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates RCBC-111 SEGV during set operation when using/... Closed

 Description   
Bug was inadvertently created under project Couchbase Server - my apologies.
I don't know how to migrate the bug into this project; please refer to MB-7544 http://www.couchbase.com/issues/browse/MB-7544





[RCBC-111] SEGV during set operation when using/running ruby client multi-threaded Created: 16/Jan/13  Updated: 13/Jan/14  Resolved: 06/May/13

Status: Closed
Project: Couchbase Ruby client library
Component/s: library
Affects Version/s: 1.2.1
Fix Version/s: 1.3.0
Security Level: Public

Type: Bug Priority: Major
Reporter: Charles Leu Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: Foundation:
  Linux: "distro": "CentOS release 5.8 (Final)"
  Kernel: "2.6.18-274.17.1.el5xen #1 SMP Tue Jan 10 18:06:37 EST 2012 x86_64 x86_64 x86_64 GNU/Linux"
  Ruby: "ruby": "1.9.2p320 (2012-04-20 revision 35421) [x86_64-linux]"
Couchbase:
  Couchbase Cluster: "nodes": ["http://server0065-vm12.listenlogic.com:4001", "http://server0065-vm13.listenlogic.com:4001", "http://server0065-vm14.listenlogic.com:4001", "http://server0065-vm15.listenlogic.com:4001"]
  Couchbase Server: "version": "2.0.0-1976-rel-community"
  Couchbase Ruby Client: "version": 1.2.1

Issue Links:
Duplicate
is duplicated by RCBC-110 SEGV during set operation when using/... Closed

 Description   
I have a ruby test program that creates a number of threads, and per thread takes a batch of documents, and stores/inserts them into couchbase. Each thread will be executing ruby code much like:

  # Insert each record (Hash) into Couchbase
  records.each { |record|
    key = record[:id].to_s
    cb.set(key, record) if !key.nil?
  }

The program starts, and subsequently SEGVs and yields a stack trace, for example:

[New Thread 0x40fbf940 (LWP 13650)]
[New Thread 0x41a33940 (LWP 13651)]
[New Thread 0x40e58940 (LWP 13652)]
[New Thread 0x400d5940 (LWP 13653)]
[New Thread 0x40ed9940 (LWP 13654)]
[New Thread 0x4020c940 (LWP 13655)]
[New Thread 0x40977940 (LWP 13656)]
[New Thread 0x40440940 (LWP 13657)]
[New Thread 0x41b0c940 (LWP 13658)]
[New Thread 0x40764940 (LWP 13659)]
[New Thread 0x412f0940 (LWP 13660)]
[New Thread 0x41422940 (LWP 13661)]
[New Thread 0x40156940 (LWP 13662)]
[New Thread 0x41cd4940 (LWP 13663)]
[New Thread 0x41065940 (LWP 13664)]
[New Thread 0x4202a940 (LWP 13665)]
[New Thread 0x40c67940 (LWP 13666)]
[New Thread 0x41dc2940 (LWP 13667)]
[New Thread 0x41734940 (LWP 13668)]
[New Thread 0x407e5940 (LWP 13669)]
[New Thread 0x41b8d940 (LWP 13670)]
[New Thread 0x417b5940 (LWP 13671)]
[New Thread 0x41c0e940 (LWP 13672)]
[New Thread 0x406b1940 (LWP 13673)]
[New Thread 0x41e43940 (LWP 13674)]
[New Thread 0x41f4c940 (LWP 13675)]
[New Thread 0x40a5d940 (LWP 13676)]
[New Thread 0x40866940 (LWP 13677)]
[New Thread 0x40ade940 (LWP 13678)]
[New Thread 0x40b5f940 (LWP 13679)]
[New Thread 0x408e7940 (LWP 13680)]
[New Thread 0x41ec4940 (LWP 13681)]
[New Thread 0x40622940 (LWP 13682)]
[New Thread 0x4164d940 (LWP 13683)]
Fetching 1024 authors starting at offset 0
[New Thread 0x42a2b940 (LWP 13685)]
[Thread 0x42a2b940 (LWP 13685) exited]
Fetching 1024 authors starting at offset 1024
Fetching 1024 authors starting at offset 2048
Fetching 1024 authors starting at offset 3072
Fetching 1024 authors starting at offset 4096

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x4020c940 (LWP 13655)]
0x00002aaaac509a1d in cb_strip_key_prefix (bucket=0x2aaab4414300, key=46912654151960) at utils.c:471
471 rb_str_update(key, 0, RSTRING_LEN(bucket->key_prefix_val), cb_vStrEmpty);
(gdb) where
#0 0x00002aaaac509a1d in cb_strip_key_prefix (bucket=0x2aaab4414300, key=46912654151960) at utils.c:471
#1 0x00002aaaac50bd64 in cb_storage_callback (handle=<optimized out>, cookie=0x2aaab4415cf0, operation=LCB_SET, error=LCB_SUCCESS, resp=0x402099b0) at store.c:52
#2 0x00002aaaac72dfd4 in ?? () from /usr/lib64/libcouchbase.so.2
#3 0x00002aaaac72bb1a in ?? () from /usr/lib64/libcouchbase.so.2
#4 0x00002aaaac504c5c in callbacks_run (callbacks=<optimized out>) at multithread_plugin.c:600
#5 loop_run_select (argp=<optimized out>) at multithread_plugin.c:780
#6 0x00002b0ebc3e8657 in rb_ensure (b_proc=0x2aaaac504aa0 <loop_run_select>, data1=46912653493520, e_proc=0x2aaaac504f30 <loop_select_cleanup>, data2=46912654152000) at eval.c:743
#7 0x00002aaaac5039fc in loop_run (loop=<optimized out>) at multithread_plugin.c:1056
#8 lcb_io_run_event_loop (iops=<optimized out>) at multithread_plugin.c:1177
#9 0x00002aaaac736aaa in lcb_wait () from /usr/lib64/libcouchbase.so.2
#10 0x00002aaaac50c275 in cb_bucket_store (self=<optimized out>, argv=<optimized out>, argc=<optimized out>, cmd=<optimized out>) at store.c:162
#11 cb_bucket_set (argc=<optimized out>, argv=<optimized out>, self=<optimized out>) at store.c:270
#12 0x00002b0ebc4ed2a8 in vm_call_cfunc (me=<optimized out>, blockptr=<optimized out>, recv=<optimized out>, num=<optimized out>, reg_cfp=<optimized out>, th=<optimized out>)
    at vm_insnhelper.c:402
#13 vm_call_method (th=0x23a2dc0, cfp=0x2aaaad359a38, num=2, blockptr=0x1, flag=0, id=21448, me=0x20c7ae0, recv=33100200) at vm_insnhelper.c:528
#14 0x00002b0ebc4f00f3 in vm_exec_core (th=0x23a2dc0, initial=<optimized out>) at insns.def:1006
#15 0x00002b0ebc4f5889 in vm_exec (th=0x2aaab4414300) at vm.c:1147
#16 0x00002b0ebc4f9e19 in invoke_block_from_c (th=0x23a2dc0, block=0x329afe0, self=30791040, argc=1, argv=0x0, blockptr=0x0, cref=0x0) at vm.c:558
#17 0x00002b0ebc4fa2a7 in vm_yield (argv=<optimized out>, argc=<optimized out>, th=<optimized out>) at vm.c:588
#18 rb_yield_0 (argv=<optimized out>, argc=<optimized out>) at vm_eval.c:740
#19 rb_yield (val=42406680) at vm_eval.c:750
#20 0x00002b0ebc3b9c9c in rb_ary_each (ary=42907960) at array.c:1427
#21 0x00002b0ebc4ed2a8 in vm_call_cfunc (me=<optimized out>, blockptr=<optimized out>, recv=<optimized out>, num=<optimized out>, reg_cfp=<optimized out>, th=<optimized out>)
    at vm_insnhelper.c:402
#22 vm_call_method (th=0x23a2dc0, cfp=0x2aaaad359b40, num=0, blockptr=0x329afe1, flag=270, id=424, me=0x1ac7760, recv=42907960) at vm_insnhelper.c:528
#23 0x00002b0ebc4f00f3 in vm_exec_core (th=0x23a2dc0, initial=<optimized out>) at insns.def:1006
#24 0x00002b0ebc4f5889 in vm_exec (th=0x2aaab4414300) at vm.c:1147
#25 0x00002b0ebc4f9e19 in invoke_block_from_c (th=0x23a2dc0, block=0x24947d0, self=27728360, argc=1, argv=0x2aaaad25a0d0, blockptr=0x0, cref=0x0) at vm.c:558
#26 0x00002b0ebc4fa1ef in rb_vm_invoke_proc (th=0x23a2dc0, proc=0x24947d0, self=27728360, argc=1, argv=0x2aaaad25a0d0, blockptr=0x0) at vm.c:604
#27 0x00002b0ebc3f01bd in proc_call (argc=1, argv=0x2aaaad25a0d0, procval=<optimized out>) at proc.c:556
#28 0x00002b0ebc4ed2a8 in vm_call_cfunc (me=<optimized out>, blockptr=<optimized out>, recv=<optimized out>, num=<optimized out>, reg_cfp=<optimized out>, th=<optimized out>)
    at vm_insnhelper.c:402
#29 vm_call_method (th=0x23a2dc0, cfp=0x2aaaad359cf8, num=1, blockptr=0x1, flag=2, id=5912, me=0x1b0a800, recv=33098120) at vm_insnhelper.c:528
#30 0x00002b0ebc4f00f3 in vm_exec_core (th=0x23a2dc0, initial=<optimized out>) at insns.def:1006
#31 0x00002b0ebc4f5889 in vm_exec (th=0x2aaab4414300) at vm.c:1147
#32 0x00002b0ebc4f9e19 in invoke_block_from_c (th=0x23a2dc0, block=0x2aaaad359e28, self=33097800, argc=0, argv=0x0, blockptr=0x0, cref=0x0) at vm.c:558
#33 0x00002b0ebc4fa3f8 in vm_yield (argv=<optimized out>, argc=<optimized out>, th=<optimized out>) at vm.c:588
#34 rb_yield_0 (argv=<optimized out>, argc=<optimized out>) at vm_eval.c:740
#35 loop_i () at vm_eval.c:798
#36 0x00002b0ebc3e8a4c in rb_rescue2 (b_proc=0x2b0ebc4fa3c0 <loop_i>, data1=0, r_proc=0x0, data2=0) at eval.c:646
#37 0x00002b0ebc4e8d2e in rb_f_loop (self=33097800) at vm_eval.c:826
#38 0x00002b0ebc4ed2a8 in vm_call_cfunc (me=<optimized out>, blockptr=<optimized out>, recv=<optimized out>, num=<optimized out>, reg_cfp=<optimized out>, th=<optimized out>)
    at vm_insnhelper.c:402
#39 vm_call_method (th=0x23a2dc0, cfp=0x2aaaad359e00, num=0, blockptr=0x2aaaad359e29, flag=8, id=2856, me=0x1a9a1a0, recv=33097800) at vm_insnhelper.c:528
#40 0x00002b0ebc4f00f3 in vm_exec_core (th=0x23a2dc0, initial=<optimized out>) at insns.def:1006
#41 0x00002b0ebc4f5889 in vm_exec (th=0x2aaab4414300) at vm.c:1147
#42 0x00002b0ebc4f9e19 in invoke_block_from_c (th=0x23a2dc0, block=0x2aaaad359f30, self=33097800, argc=1, argv=0x0, blockptr=0x0, cref=0x0) at vm.c:558
#43 0x00002b0ebc4fa341 in rb_yield_0 (argv=<optimized out>, argc=<optimized out>) at vm.c:588
#44 catch_i (tag=2082830, data=<optimized out>) at vm_eval.c:1459
#45 0x00002b0ebc4e7943 in rb_catch_obj (tag=2082830, func=0x2b0ebc4fa300 <catch_i>, data=0) at vm_eval.c:1534
#46 0x00002b0ebc4e8bdd in rb_f_catch (argc=<optimized out>, argv=<optimized out>) at vm_eval.c:1510
#47 0x00002b0ebc4ed2a8 in vm_call_cfunc (me=<optimized out>, blockptr=<optimized out>, recv=<optimized out>, num=<optimized out>, reg_cfp=<optimized out>, th=<optimized out>)
    at vm_insnhelper.c:402
#48 vm_call_method (th=0x23a2dc0, cfp=0x2aaaad359f08, num=1, blockptr=0x2aaaad359f31, flag=8, id=2840, me=0x1a99e20, recv=33097800) at vm_insnhelper.c:528
#49 0x00002b0ebc4f00f3 in vm_exec_core (th=0x23a2dc0, initial=<optimized out>) at insns.def:1006
#50 0x00002b0ebc4f5889 in vm_exec (th=0x2aaab4414300) at vm.c:1147
#51 0x00002b0ebc4f9e19 in invoke_block_from_c (th=0x23a2dc0, block=0x23f5230, self=33097800, argc=0, argv=0x0, blockptr=0x0, cref=0x0) at vm.c:558
#52 0x00002b0ebc4fa1ef in rb_vm_invoke_proc (th=0x23a2dc0, proc=0x23f5230, self=33097800, argc=0, argv=0x224d2d0, blockptr=0x0) at vm.c:604
#53 0x00002b0ebc501bd2 in thread_start_func_2 (th=0x23a2dc0, stack_start=0x4020c128) at thread.c:450
#54 0x00002b0ebc501cef in thread_start_func_1 (th_ptr=<optimized out>) at thread_pthread.c:394
#55 0x0000003cb560677d in start_thread () from /lib64/libpthread.so.0
#56 0x0000003cb46d3c1d in clone () from /lib64/libc.so.6
#57 0x0000000000000000 in ?? ()

Note that this behavior can be recreated consistently.


 Comments   
Comment by Charles Leu [ 17/Jan/13 ]
Notes and Questions:
1) Running my test single threaded does _not_ recreate this problem.
2) Running my test multi threaded yields this problem reliably (100% of the time so far).
3) To date I've only used/tested Couchbase via the Ruby client library.
4) How many other developers use the Ruby client library, and of those that use it, are their apps multi-threaded?
5) I noted that the tests for the Ruby client library didn't appear to have any that are multi-threaded.
6) Do any of your other client tests using threading, and attempt to perform set operations simultaneously?
7) Perhaps the 'Component" for this issue be changed to Ruby Client Library; please do so if you believe that is more correct.
Comment by Matt Ingenthron [ 17/Jan/13 ]
Valid questions Charles. Let me pass this to our Ruby client lead and have him look it over. We can move it to the RCBC project if it's in fact different.
Comment by Matt Ingenthron [ 17/Jan/13 ]
Sergey: Can you look at this to see if it should be moved to RCBC?
Comment by Charles Leu [ 17/Jan/13 ]
I've learned that this particular issue is/was due to the sharing of the Couchbase connection amongst threads. When the test app uses thread-local storage to house/use a connection per thread, things work without ado.

Perhaps you want to put logic in place (e.g. a monitor per connection) to ensure connection sharing doesn't lead to a SEGV or other problem (e.g. deadlock). I guess the client could also implement such logic, however using thread-local storage with multiple connections is clearly a better option.

Note that I'm fine with things as they are. However if the client lib had the aforementioned logic in place, it would have saved us some time (i.e. on both my end and yours).

Thank you for your consideration and support.
Comment by Sergey Avseyev [ 22/Jan/13 ]
Hi, Charles.

As you pointed out above, the libcouchbase handle itself isn't supposed to be shared between threads, and currently the caller should protect the connection instance either by copying it with Bucket#dup for each thread, which will lead to establishing new connection, or implementing thread-safe wrapper which will make sure that the handle won't be accessed from several threads.
Comment by Mike Evans [ 21/Mar/13 ]
Interesting, just ran into this segfault in the Ruby client 1.2.2. I also have a multi-threaded app where each thread needs to do get and set operations against CB. I get that we shouldn't be sharing the handle between threads, and the Thread.current storage in 1.2.2 does fix this for connections initiated from the Couchbase module.

The packaged CouchbaseStore ActiveSupport::Cache implementation however is not threadsafe in this regard--it creates one connection to the bucket and shares that across any threads, potentially resulting in the segfault.

The fix is rudimentary, so look for a pull request shortly.
Comment by Sergey Avseyev [ 21/Mar/13 ]
Thanks, will be glad to review
Comment by Mike Evans [ 21/Mar/13 ]
Just pushed:
http://review.couchbase.org/#/c/25294/

I'm wondering if it wouldn't be helpful in some circumstances to have the option of an imposed mutex/monitor instead of a thread local variable in the Couchbase module itself. Thinking about my own app--dozens of Couchbase Models, each with their own Bucket connection--then potentially dozens of threads. Seems like that would be spinning up a lot of connections to the server per-process.

Comment by Sergey Avseyev [ 21/Mar/13 ]
Yeah, I'm planning to implement pooling there, to allow to re-use and share connections if it is possible, but once you will store docs in different buckets, it will require separate connection per bucket
Comment by Mike Evans [ 02/May/13 ]
Pushed a Connection Pool branch for review:

http://review.couchbase.org/#/c/26028/
which relies on:
https://github.com/mperham/connection_pool

It's mainly targeted at ActiveSupport::Cache::CouchbaseStore, however could be used more generically for any Couchbase bucket connections:

@pool = Couchbase::ConnectionPool.new # => default connection args and 5 connections in the pool
@pool.set('foo', 'bar') # => checks our a connection to run set on--will block until a connection is available
@pool.get('foo') # => 'bar'

I think I implemented all operations but might have missed some.


Comment by Sergey Avseyev [ 06/May/13 ]
Merged to upstream
https://github.com/couchbase/couchbase-ruby-client/commit/5454381ca3aa7ee8a02e41e0d8ff87e8408504a2




[RCBC-108] Add Couchbase operation logging Created: 28/Dec/12  Updated: 08/Feb/13  Resolved: 08/Feb/13

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Improvement Priority: Major
Reporter: Mike Evans Assignee: Sergey Avseyev
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates RCBC-41 Integrate log4r and log interesting e... Open

 Description   
I'd love to have some basic logging of Couchbase operations--really would love them in the couchbase gem itself, but would be happy if we could at least have it in the Couchbase-Model gem.

My quick stab at it is here:
https://github.com/mje113/couchbase-ruby-model/commit/e3029076a00b120832e553563b93d92b8124100b

It's not meant to be complete--just the basics of what I'm thinking of.




[RCBC-105] Docs: What operating system versions does the ruby gem support? Created: 20/Dec/12  Updated: 13/Jan/14  Resolved: 13/Jan/14

Status: Closed
Project: Couchbase Ruby client library
Component/s: docs
Affects Version/s: 1.2.0
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Major
Reporter: Perry Krug Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
I seem to be having problems installing this on CentOS 5.8. I'm not sure if that's the problem, but I tried to verify it via our documentation and couldn't find what versions were supported or not.

 Comments   
Comment by Sergey Avseyev [ 06/May/13 ]
couchbase ruby gem depends on ruby 1.8.7+ and libcouchbase (if there are issues with libcouchbase, please report to CCBC)

According to official ruby site ruby 1.9.3 is supported by centos 5 (probably not from official repository, but should work without any problems): https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/SupportedPlatforms#Ruby-193
Comment by kzeller [ 06/May/13 ]
Please add this information to the correct part of the documentation set for Ruby.
Comment by Sergey Avseyev [ 13/Jan/14 ]
It should be obvious from getting started that ruby gem depends on libcouchbase, therefore works everywhere libcouchbase and one of the supported ruby interpreters installed




[RCBC-102] Store methods behaves inconsistently when persistence constraints specified Created: 15/Dec/12  Updated: 08/Feb/13  Resolved: 15/Dec/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: 1.2.0
Fix Version/s: 1.2.1
Security Level: Public

Type: Bug Priority: Major
Reporter: Sergey Avseyev Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
The Bucket#set for example should return the object corresponding to arguments passed:

  1.9.3p327 (main):002:0> conn.set("foo", "bar")
  851339802448297984
  1.9.3p327 (main):003:0> conn.set("foo" => "bar", "baz" => "foo")
  {"foo"=>2995536636664938496, "baz"=>16831440216388861952}

But when :observe option is used, it always return it like for multi-set

  1.9.3p327 (main):004:0> conn.set("foo", "bar", :observe => {:persisted => 1})
  {"foo"=>2559248876759744512}



 Comments   
Comment by Sergey Avseyev [ 15/Dec/12 ]
http://review.couchbase.org/23336
Comment by Matt Ingenthron [ 15/Dec/12 ]
that does seem to be an issue

you're a better judge than I am, but I'd think we'd want the response to be the same whether or not using the :observe

If the change makes it more consistent, then yes it's an API change from 1.2.0 but it's really getting back to what we expect so perfectly acceptable. Definitely something to release note though.




[RCBC-101] Observe options isn't passed to the store commands Created: 15/Dec/12  Updated: 08/Feb/13  Resolved: 15/Dec/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: 1.2.0
Fix Version/s: 1.2.1
Security Level: Public

Type: Bug Priority: Major
Reporter: Sergey Avseyev Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Comments   
Comment by Sergey Avseyev [ 15/Dec/12 ]
http://review.couchbase.org/23335




[RCBC-100] Provide proper attribute inheritance when subclassing Couchbase::Model subclasses. Created: 07/Dec/12  Updated: 08/Feb/13  Resolved: 08/Feb/13

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Improvement Priority: Major
Reporter: Mike Evans Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
(Pull request to fix this can be found here: https://github.com/couchbase/couchbase-ruby-model/pull/2 )

Currently, Couchbase::Model stores attributes (and views) in a class variable set to a mutable hash. This breaks the expected subclass attribute inheritance behavior that ActiveModel provides.

Example:

class A < Couchbase::Model
  attribute :one
end

class B < A
  attribute :two
end

B.attributes #=> {:one => nil, :two => nil}
A.attributes #=> {:one => nil, :two => nil}
B.attributes.object_id == A.attributes.object_id #=> true

This patch enables proper inheritance when ::Rails is present by using Class#class_attribute and detecting subclass additions to attribute:

class A < Couchbase::Model
  attribute :one
end

class B < A
  attribute :two
end

A.attributes #=> {:one => nil}
B.attributes #=> {:one => nil, :two => nil}
B.attributes.object_id != A.attributes.object_id #=> true

 Comments   
Comment by Mike Evans [ 10/Dec/12 ]
Pull request was updated with an improved patch and passing tests.
Comment by Sergey Avseyev [ 08/Feb/13 ]
http://review.couchbase.org/23392




[RCBC-99] When posting JSON strings in rails this function is passed a StringIO object not a string. Created: 05/Dec/12  Updated: 08/Feb/13  Resolved: 06/Dec/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: 1.2.0.z.beta4
Fix Version/s: 1.2.0
Security Level: Public

Type: Bug Priority: Major
Reporter: Sergey Avseyev Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
https://github.com/couchbase/couchbase-ruby-client/pull/5

When posting JSON strings in rails this function is passed a StringIO object not a string.
This causes the following error:

MultiJson::DecodeError
399: unexpected token at '#<StringIO:0x2f64720>]'

 Comments   
Comment by Sergey Avseyev [ 06/Dec/12 ]
http://review.couchbase.org/23117




[RCBC-97] Use ruby strings instead of char * Created: 04/Dec/12  Updated: 08/Feb/13  Resolved: 08/Feb/13

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: 1.2.0
Security Level: Public

Type: Improvement Priority: Major
Reporter: Sergey Avseyev Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Simplify memory management, reduce reallocations

 Comments   
Comment by Sergey Avseyev [ 08/Feb/13 ]
http://review.couchbase.org/23045
http://review.couchbase.org/23041
http://review.couchbase.org/23042
http://review.couchbase.org/23040
http://review.couchbase.org/23039
http://review.couchbase.org/23038




[RCBC-98] Internalize the most frequently used strings Created: 04/Dec/12  Updated: 12/Feb/13  Resolved: 08/Feb/13

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: 1.2.2
Security Level: Public

Type: Improvement Priority: Major
Reporter: Sergey Avseyev Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Comments   
Comment by Sergey Avseyev [ 04/Dec/12 ]
like "default" and empty string
Comment by Sergey Avseyev [ 08/Feb/13 ]
http://review.couchbase.org/23444
http://review.couchbase.org/23043




[RCBC-96] Release notes needed for 1.1.3, 1.1.4, 1.1.5 Created: 30/Nov/12  Updated: 08/Feb/13  Resolved: 08/Feb/13

Status: Closed
Project: Couchbase Ruby client library
Component/s: docs
Affects Version/s: 1.1.5
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Major
Reporter: Perry Krug Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
1.1.5 is marked as "unreleased" in Jira, yet it is avialable for d/l on http://www.couchbase.com/develop/ruby/current. No release notes are avialable after 1.1.2 release.

 Comments   
Comment by Sergey Avseyev [ 30/Nov/12 ]
https://github.com/couchbase/docs/issues/149
Comment by Sergey Avseyev [ 30/Nov/12 ]
and marked 1.1.5 as released




[RCBC-95] Server's helpful error about map.js errors gets replaced by a generic http 400 happened while uploading design document Created: 23/Nov/12  Updated: 08/Feb/13  Resolved: 29/Nov/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: library
Affects Version/s: 1.2.0.z.beta4
Fix Version/s: 1.2.0
Security Level: Public

Type: Bug Priority: Major
Reporter: Piotr Banasik Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: Mountain Lion


 Description   
Repro:

Create a new model, use the genrator to create a view
add the view line to the model
start the app (rails console)

The default map.js with all the comments in and examples will cause the error already.

/Users/piotr/.rvm/gems/ruby-1.9.3-p327@time/gems/couchbase-1.2.0.z.beta4/lib/couchbase/bucket.rb:165:in `continue': failed to execute HTTP request (key="_design/clocking", status="400" (Bad Request), error=0x00) (Couchbase::Error::HTTP)
from /Users/piotr/.rvm/gems/ruby-1.9.3-p327@time/gems/couchbase-1.2.0.z.beta4/lib/couchbase/bucket.rb:165:in `save_design_doc'
from /Users/piotr/.rvm/gems/ruby-1.9.3-p327@time/gems/couchbase-model-0.5.0/lib/couchbase/model.rb:260:in `ensure_design_document!'
from /Users/piotr/.rvm/gems/ruby-1.9.3-p327@time/gems/couchbase-model-0.5.0/lib/couchbase/railtie.rb:120:in `block (3 levels) in <class:Railtie>'
from /Users/piotr/.rvm/gems/ruby-1.9.3-p327@time/gems/couchbase-model-0.5.0/lib/couchbase/railtie.rb:119:in `each'
from /Users/piotr/.rvm/gems/ruby-1.9.3-p327@time/gems/couchbase-model-0.5.0/lib/couchbase/railtie.rb:119:in `block (2 levels) in <class:Railtie>'
from /Users/piotr/.rvm/gems/ruby-1.9.3-p327@time/gems/activesupport-3.2.9/lib/active_support/callbacks.rb:418:in `_run__3328634455356380055__prepare__3132553472985099836__callbacks'
from /Users/piotr/.rvm/gems/ruby-1.9.3-p327@time/gems/activesupport-3.2.9/lib/active_support/callbacks.rb:405:in `__run_callback'
from /Users/piotr/.rvm/gems/ruby-1.9.3-p327@time/gems/activesupport-3.2.9/lib/active_support/callbacks.rb:385:in `_run_prepare_callbacks'
from /Users/piotr/.rvm/gems/ruby-1.9.3-p327@time/gems/activesupport-3.2.9/lib/active_support/callbacks.rb:81:in `run_callbacks'
from /Users/piotr/.rvm/gems/ruby-1.9.3-p327@time/gems/actionpack-3.2.9/lib/action_dispatch/middleware/reloader.rb:74:in `prepare!'
from /Users/piotr/.rvm/gems/ruby-1.9.3-p327@time/gems/actionpack-3.2.9/lib/action_dispatch/middleware/reloader.rb:48:in `prepare!'
from /Users/piotr/.rvm/gems/ruby-1.9.3-p327@time/gems/railties-3.2.9/lib/rails/application/finisher.rb:47:in `block in <module:Finisher>'
from /Users/piotr/.rvm/gems/ruby-1.9.3-p327@time/gems/railties-3.2.9/lib/rails/initializable.rb:30:in `instance_exec'
from /Users/piotr/.rvm/gems/ruby-1.9.3-p327@time/gems/railties-3.2.9/lib/rails/initializable.rb:30:in `run'
from /Users/piotr/.rvm/gems/ruby-1.9.3-p327@time/gems/railties-3.2.9/lib/rails/initializable.rb:55:in `block in run_initializers'
from /Users/piotr/.rvm/gems/ruby-1.9.3-p327@time/gems/railties-3.2.9/lib/rails/initializable.rb:54:in `each'
from /Users/piotr/.rvm/gems/ruby-1.9.3-p327@time/gems/railties-3.2.9/lib/rails/initializable.rb:54:in `run_initializers'
from /Users/piotr/.rvm/gems/ruby-1.9.3-p327@time/gems/railties-3.2.9/lib/rails/application.rb:136:in `initialize!'
from /Users/piotr/.rvm/gems/ruby-1.9.3-p327@time/gems/railties-3.2.9/lib/rails/railtie/configurable.rb:30:in `method_missing'
from /Users/piotr/Work/git/ph_time/config/environment.rb:5:in `<top (required)>'
from /Users/piotr/.rvm/gems/ruby-1.9.3-p327@time/gems/railties-3.2.9/lib/rails/application.rb:103:in `require'
from /Users/piotr/.rvm/gems/ruby-1.9.3-p327@time/gems/railties-3.2.9/lib/rails/application.rb:103:in `require_environment!'
from /Users/piotr/.rvm/gems/ruby-1.9.3-p327@time/gems/railties-3.2.9/lib/rails/commands.rb:40:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'

Now after a bit of tinkering .. I just added an else to the if block_given? in there .. to reveal the error ..
        if block_given?
          if res.success? && val['error']
            res.error = Error::View.new("save_design_doc", val['error'])
          end
          yield(res)
        else
          unless res.success?
            if val['error'] && val['reason']
              raise Couchbase::Error::View.new(val['error'], val['reason'])
            end
          end
        end

And that returned a much more civil error:

SERVER: invalid_design_document: Syntax error in the map function of the view `by_date': SyntaxError: Unexpected end of input (Couchbase::Error::View)


 Comments   
Comment by Piotr Banasik [ 23/Nov/12 ]
Not sure if you want to keep that error code in there .. or perhaps tweak how the res.error stuff works in the block given section and call this better in the client lib perhaps? Not sure .. maybe tweak it on both ends really ..
Comment by Sergey Avseyev [ 29/Nov/12 ]
Fix http://review.couchbase.org/22894




[RCBC-133] Improved replica read command Created: 09/Jul/13  Updated: 13/Jan/14  Resolved: 10/Jul/13

Status: Closed
Project: Couchbase Ruby client library
Component/s: library
Affects Version/s: None
Fix Version/s: 1.3.2
Security Level: Public

Type: Task Priority: Major
Reporter: Sergey Avseyev Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Dependency
depends on CCBC-183 Implement approach to specify behavio... Closed

 Description   
Allow to specify strategy of selecting replica nodes. Now three strategies available:

    * `:first` - synonym to `true`, previous behaviour and currently
      default. It means that the library will sequentially iterate
      over all replicas and will return as soon as find successful
      response, or report error from the latest.

            c.get("foo", :replica => true)
            c.get("foo", :replica => :first)
            #=> "bar"
            c.get("foo", :replica => :first, :extended => true)
            #=> ["bar", 0, 11218368683493556224]

    * `:all` - query all replicas in parallel. In this case the method
      will return array of the values on the all replica nodes without
      particular order. Also if the key isn't on the node, it will be
      skipped in the result array.

            c.get("foo", :replica => :all)
            #=> ["bar", "bar", "bar"]
            c.get("foo", :replica => :all, :extended => true)
            #=> [["bar", 0, 11218368683493556224],
            # ["bar", 0, 11218368683493556224],
            # ["bar", 0, 11218368683493556224]]

    * `Fixnum` - you can also select specific replica node by its
      index in the cluster configuration. It should be in interval
      `0...c.num_replicas`

            0...c.num_replicas
            #=> 0...3
            c.get("foo", :replica => 1)
            #=> "bar"
            c.get("foo", :replica => 42)
            #=> ArgumentError: replica index should be in interval 0...3


 Comments   
Comment by Sergey Avseyev [ 09/Jul/13 ]
http://review.couchbase.org/27343




[RCBC-132] Specify which version of Ruby is required/supported Created: 06/Jun/13  Updated: 13/Jan/14  Resolved: 13/Jan/14

Status: Closed
Project: Couchbase Ruby client library
Component/s: docs
Affects Version/s: 1.3.1
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Major
Reporter: Perry Krug Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Please provide in the http://www.couchbase.com/develop/ruby/current page an indication of which version of Ruby we support. Apparently my 1.8.5 is not sufficient enough but nothing on the page dictates that.

 Comments   
Comment by Sergey Avseyev [ 11/Jun/13 ]
Made a change on our site: http://www.couchbase.com/node/1178/revisions/view/5383/5592

Matt, could you also check it, because my previous after-release patch hasn't been applied (in-text change from 1.3.0 to 1.3.1)
Comment by Perry Krug [ 26/Jul/13 ]
Sergey/Matt, can you look into this? I still don't see anything on the web page and I get an access denied when I try to access that revision link.
Comment by Sergey Avseyev [ 26/Jul/13 ]
looks like that change rewritten because of our new drupal versioning system




[RCBC-131] Couchbase::Cluster#create_bucket raises "Couchbase::Error::Connect: not connected to the server" Created: 04/Jun/13  Updated: 13/Jan/14  Resolved: 04/Jun/13

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: 1.3.0
Fix Version/s: 1.3.1
Security Level: Public

Type: Bug Priority: Major
Reporter: Sergey Avseyev Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
It shouldn't require persistent connection for "cluster"-wise connections

 Comments   
Comment by Sergey Avseyev [ 04/Jun/13 ]
http://review.couchbase.org/26710




[RCBC-128] Ruby 1.3.0 is missing release notes Created: 08/May/13  Updated: 28/May/13  Resolved: 28/May/13

Status: Closed
Project: Couchbase Ruby client library
Component/s: docs
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Major
Reporter: Matt Ingenthron Assignee: Unassigned
Resolution: Fixed Votes: 0
Labels: info-request
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
It may have been an artifact of the order in which docs were integrated, but I don't see release notes in the right place in the current document.

http://www.couchbase.com/docs/couchbase-sdk-ruby-1.3/couchbase-sdk-ruby-rn.html



 Comments   
Comment by kzeller [ 09/May/13 ]
Hi,

So I investigated this last night and discovered all the XML and content are intact and valid for this entire document.

When I generate PDF the content is missing as well as when the XML to HTML conversion happens. I think this is something to do with the Perl parser that does our conversions expecting some setting.

Can you please get someone familiar with Perl to look at this conversion script?


Thanks,

Karen
Comment by Wayne Siu [ 09/May/13 ]
Matt, can you or someone on your team help? Thanks.
Comment by Matt Ingenthron [ 13/May/13 ]
Mark: I know you haven't been in here before, but can you possibly work with Wayne/Karen to help us out to try to fix this? There's some scripting forensics required.
Comment by Mark Nunberg [ 13/May/13 ]
If you can show me the toolchain or give me access to a remote machine (probably the best) where this toolchain is installed, I could help dig into the issue.
Comment by kzeller [ 14/May/13 ]
Here is the toolchain information:

=======


This is the info you wanted for RCBC-128 on the Toolchain for publishing. I set up 1.3 guides and they generate as PDF and HTML but somehow the release notes are not being pulled in during conversion.

There are no failure messages on the server or on my local machine when the build runs, and the XML is clean. You basically just get a blank page in PDF and HTML for the release notes.

The new ruby guide is here, set up according to what Matt/Sergey agreed on content:

https://github.com/couchbase/docs/tree/master/Couchbase/products/couchbase/couchbase-sdk-ruby-1.3

For the release notes, there is XML typically in every guide that seems to serve as an include statement here:

https://github.com/couchbase/docs/blob/master/Couchbase/products/couchbase/couchbase-sdk-ruby-1.3/releasenotes-metasrc.xml

The XML=>HTML conversion runs here: ssh jenkins@ubu-1701.hq.couchbase.com, you can use Qakey.pem to access it

In ~/docs we recreated a shell script that will Git pull the current docs repo
Then it will do a make publish-push to trigger the XML=>HTML conversion

This make task runs a bunch of Perl scripts that do the conversion as well as includes. I believe all the Perl scripts called by make are under the Publish Then the make task syncs the new HTML with our web server.

Let me know if you need the key for access to this machine, but you should have it as it is the QA key for jenkins.



Regards,

Karen
Comment by kzeller [ 28/May/13 ]
I discovered the problem while I was setting up the C library. Inconsistent version label between the release note file "1.3.0" and the build files:

http://www.couchbase.com/docs/couchbase-sdk-ruby-1.3/couchbase-sdk-ruby-rn_1-3-0.html
Comment by kzeller [ 28/May/13 ]
I discovered the problem while I was setting up the C library. Inconsistent version label between the release note file "1.3.0" and the build files:

http://www.couchbase.com/docs/couchbase-sdk-ruby-1.3/couchbase-sdk-ruby-rn_1-3-0.html




[RCBC-134] Document how to use multiple buckets within the same process Created: 25/Jul/13  Updated: 13/Jan/14  Resolved: 12/Sep/13

Status: Closed
Project: Couchbase Ruby client library
Component/s: docs, library
Affects Version/s: 1.3.2
Fix Version/s: 1.3.3
Security Level: Public

Type: Improvement Priority: Major
Reporter: Perry Krug Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Please enhance the documentation to include an example of accessing more than one Couchbase bucket from within the same process/thread.

 Comments   
Comment by Robin Johnson (Inactive) [ 26/Jul/13 ]
I will write a blog about this for the community site.
Comment by Sergey Avseyev [ 06/Aug/13 ]
I've made a patch to support named slots for storing connections:
https://github.com/avsej/couchbase-ruby-client/commit/fcc96c5c3fd8047bf8e1cf142c78b117e0f80425
Comment by Sergey Avseyev [ 06/Aug/13 ]
http://review.couchbase.org/27961 moved to gerrit




Final Review 1.3 core documentation (RCBC-127)

[RCBC-129] Complete Reviews Created: 24/May/13  Updated: 13/Jan/14  Resolved: 13/Jan/14

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Technical task Priority: Major
Reporter: Anonymous Assignee: Amy Kurtzman
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Send 5/8/2013:

Hi,

Here is the 1.3 for review. Please provide me any feedback/input by Wednesday end of day next week. After that time, any change requests or fixes will go through the standard maintenance-mode process: http://hub.internal.couchbase.com/confluence/display/techpubs/Doc+Fixes+and+Edits+Process+2013

You can provide any review feedback as a bullet list on this ticket http://www.couchbase.com/issues/browse/RCBC-127, or as annotations to the PDF.


Regards,

Karen

 Comments   
Comment by Sergey Avseyev [ 13/Jan/14 ]
Should we close this ticket?
Comment by Amy Kurtzman [ 13/Jan/14 ]
Closing this issue.




[RCBC-125] Update Autodocs Page to new Corporate Template Created: 15/Apr/13  Updated: 15/Apr/13  Resolved: 15/Apr/13

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Task Priority: Major
Reporter: Anonymous Assignee: Unassigned
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
http://www.couchbase.com/autodocs/




[RCBC-123] Ruby SDK Site : broken link to the documentation Created: 22/Mar/13  Updated: 26/Mar/13  Resolved: 26/Mar/13

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: 1.2.2
Fix Version/s: None
Security Level: Public

Type: Task Priority: Major
Reporter: Tug Grall (Inactive) Assignee: Unassigned
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Go to the site:
http://www.couchbase.com/develop/ruby/current

Click on RDoc:
http://www.couchbase.com/autodocs/couchbase-ruby-client-1.2.2/index.html

this links does not work

 Comments   
Comment by kzeller [ 26/Mar/13 ]
Now available here and linked:

http://www.couchbase.com/autodocs/couchbase-ruby-client-1.2.2/index.html
Comment by kzeller [ 26/Mar/13 ]
Now available here and linked:

http://www.couchbase.com/autodocs/couchbase-ruby-client-1.2.2/index.html




[RCBC-121] misspelling in release notes for Ruby Created: 01/Mar/13  Updated: 13/Jan/14  Resolved: 06/May/13

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: New Feature Priority: Major
Reporter: Matt Ingenthron Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Should be February:
http://www.couchbase.com/docs/couchbase-sdk-ruby-1.2/couchbase-sdk-ruby-rn_1-2-2.html

Is it possible to review RN for correctness/accuracy before merging more generally?

 Comments   
Comment by Sergey Avseyev [ 06/May/13 ]
https://github.com/avsej/docs/commit/891df66e1b1c9db9d773e44d4458c3a0472f9fb9#L0L65




[RCBC-94] Ruby client memoise last exception Created: 19/Nov/12  Updated: 08/Feb/13  Resolved: 19/Nov/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: 1.2.0.z.beta3
Fix Version/s: 1.2.0.z.beta4
Security Level: Public

Type: Bug Priority: Major
Reporter: Sergey Avseyev Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Ruby client doesn't erase exception received in global error callback and keep using it as a error indicator.

 Comments   
Comment by Sergey Avseyev [ 19/Nov/12 ]
http://review.couchbase.org/22645




[RCBC-92] rb_sprintf() isn't available in ruby 1.8.7, so recent couchbase-ruby-client doesn't work there Created: 14/Nov/12  Updated: 08/Feb/13  Resolved: 14/Nov/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: library
Affects Version/s: None
Fix Version/s: 1.2.0.z.beta4
Security Level: Public

Type: Bug Priority: Major
Reporter: Sergey Avseyev Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Comments   
Comment by Sergey Avseyev [ 14/Nov/12 ]
http://review.couchbase.org/22511




[RCBC-91] Ruby gem installation instructions don't work Created: 12/Nov/12  Updated: 12/Nov/12  Resolved: 12/Nov/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: docs
Affects Version/s: 1.2.0.dp6
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Major
Reporter: Perry Krug Assignee: Sergey Avseyev
Resolution: Cannot Reproduce Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
The instructions for installing the gem here are incorrect (at least according to my novice cut/paste):
http://www.couchbase.com/develop/ruby/next

[root@localhost ~]# gem install couchbase --pre
ERROR: While executing gem ... (OptionParser::InvalidOption)
    invalid option: --pre

 Comments   
Comment by Perry Krug [ 12/Nov/12 ]
Looks like it might be a problem with my version of Ruby...I'll upgrade and retry




[RCBC-90] It isn't possible to pass custom connection options to Rack session store Created: 07/Nov/12  Updated: 13/Nov/12  Resolved: 08/Nov/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: 1.2.0.z.beta4
Security Level: Public

Type: Bug Priority: Major
Reporter: Sergey Avseyev Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Comments   
Comment by Sergey Avseyev [ 08/Nov/12 ]
http://review.couchbase.org/22207




[RCBC-89] make sure include_docs is "logical" Created: 05/Nov/12  Updated: 13/Nov/12  Resolved: 12/Nov/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: library
Affects Version/s: None
Fix Version/s: 1.2.0.z.beta4
Security Level: Public

Type: New Feature Priority: Major
Reporter: Matt Ingenthron Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Currently, include_docs fetches the doc from the view. This needs to change so the doc is fetched from the cache, so it's a "logical" include docs. This would mean that the docs can be out of sync w.r.t. the view, but that's an inconsistency we can live with.




[RCBC-88] The library 1.2.0.z.beta2 fails to install with libcouchbase 2.0.0beta Created: 10/Oct/12  Updated: 13/Nov/12  Resolved: 18/Oct/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: library
Affects Version/s: 1.2.0.z.beta
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Major
Reporter: Sergey Avseyev Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified





[RCBC-87] Gem is failing to install on macos Created: 08/Oct/12  Updated: 13/Nov/12  Resolved: 08/Oct/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: library
Affects Version/s: 1.2.0.z.beta2
Fix Version/s: 2.0.0.dp1
Security Level: Public

Type: Bug Priority: Major
Reporter: Sergey Avseyev Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
make
xcrun cc -I. -I. -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin11.0 -I. -DRUBY_EXTCONF_H=\"couchbase_config.h\" -I/usr/local/Cellar/libevent/2.0.19/include -I/opt/local/include -I/usr/local/include -I/usr/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -fno-common -g -Os -pipe -fno-common -DENABLE_DTRACE -fno-common -pipe -fno-common -std=c99 -Wall -Wextra -c arguments.c
In file included from arguments.c:18:
couchbase_ext.h:27: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'hrtime_t'
couchbase_ext.h:28: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'gethrtime'
make: *** [arguments.o] Error 1

 Comments   
Comment by Sergey Avseyev [ 08/Oct/12 ]
http://review.couchbase.org/21427




[RCBC-83] gem install couchbase fails Created: 19/Sep/12  Updated: 13/Nov/12  Resolved: 19/Sep/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: 1.2.0.z.beta
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Major
Reporter: Sergey Avseyev Assignee: Sergey Avseyev
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates RCBC-82 gem install couchbase --pre on OSX 10... Closed

 Description   
me$ gem install couchbase --pre
Building native extensions. This could take a while...
ERROR: Error installing couchbase:
ERROR: Failed to build gem native extension.

        /Users/me/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb
extconf.rb:25:in `block in <main>': uninitialized constant RbConfig::ARCHFLAGS (NameError)
from extconf.rb:24:in `each'
from extconf.rb:24:in `<main>'


Gem files will remain installed in /Users/me/.rvm/gems/ruby-1.9.3-p194/gems/couchbase-1.2.0.z.beta for inspection.
Results logged to /Users/me/.rvm/gems/ruby-1.9.3-p194/gems/couchbase-1.2.0.z.beta/ext/couchbase_ext/gem_make.out





[RCBC-81] Unable to gem install couchbase Created: 17/Sep/12  Updated: 13/Nov/12  Resolved: 17/Sep/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: library
Affects Version/s: 1.1.4
Fix Version/s: 1.1.5, 1.2.0.z.beta
Security Level: Public

Type: Bug Priority: Major
Reporter: Karan Kumar (Inactive) Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: Centos 6.2


 Description   
[root@cen-1908 ~]# ruby -v
ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]
[root@cen-1908 ~]# gem --version
1.8.10

Followed the instructions listed here:-
https://github.com/couchbase/couchbase-ruby-client



[root@cen-1908 ~]# gem install couchbase
Building native extensions. This could take a while...
......
ERROR: Error installing couchbase:
ERROR: Failed to build gem native extension.

        /usr/bin/ruby extconf.rb
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.

Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/usr/bin/ruby
--with-libcouchbase-dir
--without-libcouchbase-dir
--with-libcouchbase-include
--without-libcouchbase-include=${libcouchbase-dir}/include
--with-libcouchbase-lib
--without-libcouchbase-lib=${libcouchbase-dir}/lib
extconf.rb:86: undefined method `<<' for nil:NilClass (NoMethodError)


Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/couchbase-1.1.4 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/couchbase-1.1.4/ext/couchbase_ext/gem_make.out

 Comments   
Comment by Sergey Avseyev [ 17/Sep/12 ]
Could you also attach /usr/lib/ruby/gems/1.8/gems/couchbase-1.1.4/ext/couchbase_ext/gem_make.out ?
Comment by Karan Kumar (Inactive) [ 17/Sep/12 ]
gem_make.out

/usr/bin/ruby extconf.rb
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.

Provided configuration options:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=/usr/bin/ruby
        --with-libcouchbase-dir
        --without-libcouchbase-dir
        --with-libcouchbase-include
        --without-libcouchbase-include=${libcouchbase-dir}/include
        --with-libcouchbase-lib
        --without-libcouchbase-lib=${libcouchbase-dir}/lib
extconf.rb:86: undefined method `<<' for nil:NilClass (NoMethodError)




[RCBC-1] error format is changing Created: 27/Jul/11  Updated: 13/Nov/12  Resolved: 06/Sep/11

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Major
Reporter: Matt Ingenthron Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
The error format is changing, need to ensure that's updated in the client.

Rough example format:

{"total_rows":0,"rows":[

],
"errors": [{"from":"127.0.0.1:5984","reason":"Design document `_design/testfoobar` missing in database `test_db_b`."},
{"from":"http://localhost:5984/_view_merge/","reason":"Design document `_design/testfoobar` missing in database `test_db_c`."}]}

 Comments   
Comment by Matt Ingenthron [ 28/Jul/11 ]
Here's a better example of the format. It changed slightly again.

{"total_rows":0,"rows":[
],
"errors":[
{"from":"local","reason":"Design document `_design/testfoobar` missing
in database `test_db_b`."},
{"from":"http://localhost:5984/_view_merge/","reason":"Design document
`_design/testfoobar` missing in database `test_db_c`."}
]}
Comment by Sergey Avseyev [ 06/Sep/11 ]
http://review.couchbase.org/9339




[RCBC-76] Provide get and lock as API Created: 24/Aug/12  Updated: 11/Sep/12  Resolved: 27/Aug/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: 1.2.0.z.beta
Security Level: Public

Type: Improvement Priority: Major
Reporter: Anonymous Assignee: Unassigned
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Provide get and lock as an API method.

 Comments   
Comment by Sergey Avseyev [ 24/Aug/12 ]
Couchbase::Bucket#get has option lock, so the get with this option is the "get and lock", see examples at

http://rdoc.info/github/couchbase/couchbase-ruby-client/Couchbase/Bucket#get-instance_method

and also implementation and tests

https://github.com/couchbase/couchbase-ruby-client/blob/13ca5c6bed/ext/couchbase_ext/couchbase_ext.c#L3078

https://github.com/couchbase/couchbase-ruby-client/blob/13ca5c6bed/test/test_get.rb#L349-L397
Comment by kzeller [ 27/Aug/12 ]
Will add to docs.
Comment by kzeller [ 27/Aug/12 ]
Added to 1.8 and will add to 2.0 chapters.
Comment by kzeller [ 27/Aug/12 ]
Do you have any examples in a reference app?




[RCBC-60] struct freed before rasied Created: 18/Jul/12  Updated: 13/Nov/12  Resolved: 27/Jul/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: library
Affects Version/s: 1.1.2
Fix Version/s: 1.1.3
Security Level: Public

Type: Bug Priority: Major
Reporter: James Mauss Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
the ctx struct's freed before the exception ( exc ) is raised - so it references invalid memory

ext/couchbase_ext/couchbase_ext.c- exc = ctx->exception; <----
ext/couchbase_ext/couchbase_ext.c- extended = ctx->extended;
ext/couchbase_ext/couchbase_ext.c: free(ctx); <------
ext/couchbase_ext/couchbase_ext.c- if (exc != Qnil) {
ext/couchbase_ext/couchbase_ext.c- rb_exc_raise(exc); <------
ext/couchbase_ext/couchbase_ext.c- }

 Comments   
Comment by Sergey Avseyev [ 18/Jul/12 ]
free(ctx) means deallocate the memory of the struct. ctx->exception is just a pointer, and it is valid
Comment by Sergey Avseyev [ 18/Jul/12 ]
It would be better if I'll get stacktrace or minimal working script (or both)




[RCBC-43] Document usage '$' prefix in JSON properties Created: 22/Jun/12  Updated: 13/Nov/12  Resolved: 22/Jun/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Improvement Priority: Major
Reporter: Sergey Avseyev Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
There are not intuitive consequences of usage dollar sign as a prefix in document properties: they looks ok in CRUD, but stripped out in views. This behaviour should be documented

 Comments   
Comment by Sergey Avseyev [ 22/Jun/12 ]
http://review.couchbase.org/17540 uploaded for review




[RCBC-40] It isn't possible to receive result of the STORE part when doing Bucket#cas asynchronously Created: 15/Jun/12  Updated: 13/Nov/12  Resolved: 22/Jun/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Major
Reporter: Sergey Avseyev Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
The callback of the Bucket#cas method is triggered only once, when it fetches old value, and it isn't possible to receive notification if the next store operation was successful:

Couchbase.bucket.run do |c|
  c.cas("foo") do |oldval|
    # modify oldval and return newval
    newval
  end
end

It would be better if cas operation will be more like other operations in async mode and will return Result object twice, first for get part and then for set.

 Comments   
Comment by Sergey Avseyev [ 22/Jun/12 ]
http://review.couchbase.org/17541 uploaded fix




[RCBC-77] Incorporate Feedback from Sergey on Advanced Topics 1.8 Created: 27/Aug/12  Updated: 13/Nov/12  Resolved: 27/Aug/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: 1.2.0.dp5
Security Level: Public

Type: Improvement Priority: Major
Reporter: Anonymous Assignee: Unassigned
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File Re- New Content for Review.eml    

 Comments   
Comment by kzeller [ 27/Aug/12 ]
Added Sergey's edits/changes.




[RCBC-69] Wrong URL to ruby client landing page at page "Couchbase Client Library Ruby 1.2" Created: 08/Aug/12  Updated: 13/Nov/12  Resolved: 09/Aug/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: docs
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Major
Reporter: Sergey Avseyev Assignee: MC Brown (Inactive)
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
there is typo on page

http://www.couchbase.com/docs/couchbase-sdk-ruby-1.2/index.html

it points to wrong url for client library page. it should be

    http://www.couchbase.com/develop/ruby/next

instead of

    http://www.couchbase.com/developer/ruby/next

 Comments   
Comment by MC Brown (Inactive) [ 09/Aug/12 ]
Fixed and published




[RCBC-66] Ruby Gem 1.1.2/1.1.3 not responding to :node_list param in Couchbase.new||Couchbase.connect Created: 30/Jul/12  Updated: 13/Jan/14  Resolved: 11/Jun/13

Status: Closed
Project: Couchbase Ruby client library
Component/s: docs, library
Affects Version/s: 1.1.2
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Major
Reporter: Anonymous Assignee: Sergey Avseyev
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: I tried it on Amazon Linux with a cluster of two Couchbase 2.0 build 1495's specifying gem versions.


 Description   
:node_list syntax returning:
Connection failed: Connection refused (error=0x17) (Couchbase::Error::Connect)

Direct connection to each node works fine. It also works fine in 1.2.0dp6.

See thread for more info: http://www.couchbase.com/forums/thread/ruby-client-connection-refused-using-nodelist
I confirmed it wasn't working.

 Comments   
Comment by scalabl3 [ 30/Jul/12 ]
I tried it in both 1.1.2 and 1.1.3, neither worked. Like I said, it does work in 1.2.0dp6 latest release. Of course I also have a newer libcouchbase (the one required for dp6 of gem).
Comment by Sergey Avseyev [ 31/Jul/12 ]
I thought its kind of feature, not a bug therefore shouldn't be merged into stable branch. there is workaround although. User could create array of hosts and shift and try host checking for connect error
Comment by scalabl3 [ 01/Aug/12 ]
Ah, true, I think what is confusing is the docs on github show the syntax but it only works in dp gem... maybe just make a quick note about that?
Comment by Sergey Avseyev [ 02/Aug/12 ]
Could you put the link?
Comment by Sergey Avseyev [ 11/Jun/13 ]
We aren't backporting features to previous versions without escalation




[RCBC-35] Arguments to complex query escaped incorrectly Created: 23/May/12  Updated: 13/Nov/12  Resolved: 07/Jun/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: library
Affects Version/s: 1.2.0.dp
Fix Version/s: 1.2.0.dp2
Security Level: Public

Type: Bug Priority: Major
Reporter: Sergey Avseyev Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
The problem basically described in this gist https://gist.github.com/2775050

> Basically I want to use this kind of map/reduce on a document structure like below to find out the number of type by each author and want to use :start_key and :end_key to get a result for a particular author.


 Comments   
Comment by Sergey Avseyev [ 23/May/12 ]
Fixed, awaiting for review http://review.couchbase.org/16339




[RCBC-74] Provide Standardized Logging Created: 24/Aug/12  Updated: 08/Feb/13  Resolved: 08/Feb/13

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Improvement Priority: Major
Reporter: Anonymous Assignee: Sergey Avseyev
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates RCBC-41 Integrate log4r and log interesting e... Open

 Description   
Provides the consistent level of logging provided by other SDKs. Provide more information on configuring logging for developers.




[RCBC-70] The library always returns strings in ASCII-8BIT encoding Created: 09/Aug/12  Updated: 13/Nov/12  Resolved: 28/Aug/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: 1.1.2, 1.2.0.dp6
Fix Version/s: 1.1.3, 1.2.0.z.beta
Security Level: Public

Type: Bug Priority: Major
Reporter: Sergey Avseyev Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Original discussion
https://groups.google.com/d/topic/couchbase/bya0lSf9uGE/discussion

 Comments   
Comment by Sergey Avseyev [ 09/Aug/12 ]
Fix for 1.1.x branch http://review.couchbase.org/19405




[RCBC-68] views seem to be killing the connection when using Created: 07/Aug/12  Updated: 13/Jan/14  Resolved: 06/May/13

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Major
Reporter: Matt Ingenthron Assignee: Sergey Avseyev
Resolution: Cannot Reproduce Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
A user reports that they find the connection getting dropped when trying to use views. See
http://www.couchbase.com/forums/thread/ruby-sdk-12-problem-views




[RCBC-48] Implement observe command Created: 12/Jul/12  Updated: 13/Nov/12  Resolved: 12/Jul/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Improvement Priority: Major
Reporter: Matt Ingenthron Assignee: Sergey Avseyev
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates RCBC-6 implement OBSERVE command Closed

 Description   
Add the basic low level observe command





[RCBC-50] Replica read command Created: 12/Jul/12  Updated: 13/Nov/12  Resolved: 19/Jul/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: 1.2.0.dp6
Security Level: Public

Type: Improvement Priority: Major
Reporter: Matt Ingenthron Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Implement a simple replica read command


 Comments   
Comment by Sergey Avseyev [ 19/Jul/12 ]
http://review.couchbase.org/18590




[RCBC-49] Highlevel synchronous mutation operations atop observe Created: 12/Jul/12  Updated: 13/Nov/12  Resolved: 27/Jul/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: 1.2.0.dp6
Security Level: Public

Type: Improvement Priority: Major
Reporter: Matt Ingenthron Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Comments   
Comment by Sergey Avseyev [ 23/Jul/12 ]
http://review.couchbase.org/18689 Bucket#observe_and_wait
Comment by Sergey Avseyev [ 27/Jul/12 ]
Fixed at http://review.couchbase.com/18957




[RCBC-47] http auth is not asserted correctly with bucketname only, should default to bucketname even if no username is supplied Created: 07/Jul/12  Updated: 13/Nov/12  Resolved: 27/Jul/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: 1.1.1
Fix Version/s: 1.2.0.dp6
Security Level: Public

Type: Bug Priority: Major
Reporter: Matt Ingenthron Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
User tried to use just :bucket_name and :bucket_password, in which case HTTP basic auth should be asserted, but that didn't happen.

See http://stackoverflow.com/questions/11319166/adding-a-new-couchbase-bucket-caused-bucketnotfound-error

 Comments   
Comment by Sergey Avseyev [ 09/Jul/12 ]
Ok, I can accept the bug and show deprecation warnings if someone will use :bucket_password and :bucket_name
Comment by Sergey Avseyev [ 27/Jul/12 ]
http://review.couchbase.org/18934

Now the client will use bucket name as username, but silently eat all other options. There is another ticket about claiming allowed options RCBC-65




[RCBC-39] Increment Decrement Delta not working Created: 14/Jun/12  Updated: 20/May/13  Resolved: 20/May/13

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: 1.1.0
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Major
Reporter: Anonymous Assignee: Wayne Siu
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Using the 1.1.2 gem, specifying a :delta => 10 does not increment or decrement the value by any given delta.

 Comments   
Comment by Sergey Avseyev [ 14/Jun/12 ]
There is only one mention about :delta option: in README, and currenly I don't have code which does it, but it will be easy to implement
Comment by karenzeller [ 14/Jun/12 ]
So right now in Ruby, the increment and decrement only increment/decrement by 1?
Comment by karenzeller [ 14/Jun/12 ]
If you do implement :delta for incr() and decr(), it would make the SDK more consistent with all the other SDKs....
Comment by Sergey Avseyev [ 15/Jun/12 ]
Currently you can specify delta using second argument:

conn.incr("foo", 100)
conn.decr("foo", 50)
Comment by Sergey Avseyev [ 22/Jun/12 ]
Uploaded fix http://review.couchbase.org/17554
Comment by karenzeller [ 22/Jun/12 ]
Great. Will update doc.
Comment by Wayne Siu [ 20/May/13 ]
Reopening the ticket for administrative reason.




[RCBC-37] Implement bootstrapping using multiple nodes Created: 13/Jun/12  Updated: 13/Nov/12  Resolved: 22/Jun/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: New Feature Priority: Major
Reporter: Sergey Avseyev Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Libcouchbase has implemented it already. Ruby client just need to format host list properly and feed it into libcouchbase

 Comments   
Comment by Sergey Avseyev [ 22/Jun/12 ]
Uploaded change to gerrit http://review.couchbase.org/17539




[RCBC-79] flush should use the the restful flush with error handling Created: 11/Sep/12  Updated: 13/Nov/12  Resolved: 17/Sep/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: 1.2.0.z.beta
Security Level: Public

Type: Bug Priority: Major
Reporter: Matt Ingenthron Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by RCBC-80 Use restful flush instead memcached Closed

 Description   
The server side does not support flush for now, so this should fail with the server's error message for now, but should later work when it's enableable at the server.




[RCBC-80] Use restful flush instead memcached Created: 11/Sep/12  Updated: 13/Nov/12  Resolved: 13/Sep/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: 1.2.0.z.beta
Security Level: Public

Type: Improvement Priority: Major
Reporter: Sergey Avseyev Assignee: Sergey Avseyev
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates RCBC-79 flush should use the the restful flus... Closed

 Comments   
Comment by Sergey Avseyev [ 13/Sep/12 ]
http://review.couchbase.org/20824




[RCBC-71] Calling incorrect methods on MultiJson when format is :document causing Couchbase::Error::ValueFormat Created: 16/Aug/12  Updated: 13/Nov/12  Resolved: 19/Oct/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: library
Affects Version/s: 1.2.0.dp6
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Major
Reporter: Chris McGrath Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
The C code calls dump/load on MultiJson, but its interface is encode/decode. Adding the following hack allows me to .set when the format is :document.

module MultiJson
  class << self
    alias_method :dump, :encode
    alias_method :load, :decode
  end
end


 Comments   
Comment by Sergey Avseyev [ 17/Aug/12 ]
What multi-json version are you using? There is fix for that already included. I guess it doesn't meet condition for you. Could you please check it? https://github.com/couchbase/couchbase-ruby-client/blob/master/lib/ext/multi_json_fix.rb#L40-L47
Comment by Sergey Avseyev [ 17/Aug/12 ]
I see typo there

 MultiJson.respond_to?(:encode) && MultiJson.respond_to?(:encode)

But I don't think it cause the issue
Comment by Sergey Avseyev [ 19/Oct/12 ]
http://review.couchbase.org/21754




[RCBC-67] Append with :format => :plain seems to corrupt value Created: 01/Aug/12  Updated: 13/Nov/12  Resolved: 19/Oct/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: 1.1.3
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Major
Reporter: Anonymous Assignee: Sergey Avseyev
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: mac osx


 Description   
>> require 'couchbase'
=> true
>> cb= Couchbase.new
=> #<Couchbase::Bucket:0x10dd89a10 "http://localhost:8091/pools/default/buckets/default/" default_format=:document, default_flags=0x0, quiet=true, connected=true, timeout=2500000>
>> cb.set('karen', 'old')
=> 1585267068834414592
>> cb.append('karen', 'new', :format => :plain)
=> 1657324662872342528
>> cb.get('karen')
Couchbase::Error::ValueFormat: unable to convert value
from /Library/Ruby/Gems/1.8/gems/yajl-ruby-1.1.0/lib/yajl/json_gem/parsing.rb:23:in `get'
from (irb):5
from :0
>>

When I telnet I get this:

Karens-MacBook-Pro:~ kzeller$ telnet localhost 11211
Trying ::1...
Connected to localhost.
Escape character is '^]'.
get karen
VALUE karen 0 8
"old"new

so the value is appended, but somehow the SDK thinks the content is JSON, not plain.

 Comments   
Comment by Sergey Avseyev [ 19/Oct/12 ]
You should also set value with plain format because append/prep end are not allowed to change flags




[RCBC-62] Support the setq memcache operation Created: 20/Jul/12  Updated: 13/Nov/12  Resolved: 08/Oct/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: 2.0.0.dp1
Security Level: Public

Type: New Feature Priority: Major
Reporter: Ben Poweski Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
We would like the couchbase driver to support the setq operation (writes without acknowledgment)

 Comments   
Comment by Sergey Avseyev [ 08/Oct/12 ]
Now the ruby client supports multi set/get/etc... operations which are pipelined like setq




[RCBC-58] CAS block error Created: 17/Jul/12  Updated: 13/Nov/12  Resolved: 17/Jul/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: library
Affects Version/s: 1.0.0
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Major
Reporter: Anonymous Assignee: Sergey Avseyev
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: Mac OSX, couchbase (1.1.2)


 Description   
Unexpected CAS error:

Expected output from:

cb.default_format = :document
cb.set("trans1", "{'karen': '400', 'dipti': '800', 'status':'init' }")=> 360287970189639680
cb.cas("trans1") do |val|
val["new"] = "new"
val
end

Would be {'karen': '400', 'dipti': '800', 'status':'init', 'new': 'new' }

but it returns:

IndexError: string not matched
from (irb):7:in `[]='

This is based on the rdoc example:

c.default_format = :document
c.set("foo", {"bar" => 1})
c.cas("foo") do |val|
  val["baz"] = 2
  val
end
c.get("foo") #=> {"bar" => 1, "baz" => 2}

 Comments   
Comment by Sergey Avseyev [ 17/Jul/12 ]
It isn't bug here

Note what are you setting as document:

   "{'karen': '400', 'dipti': '800', 'status':'init' }"

This is a String, so it will be encoded as JSON string.

If you'd like to store a JSON Object, you should use Ruby Hash:

   {'karen' => '400', 'dipti' => '800', 'status' => 'init' }

I guess '400' and '800' shouldn't be specified as strings, therefore you might want to omit single quotes
Comment by Matt Ingenthron [ 18/Jul/12 ]
Also note that quoting JSON with ' is actually not legal. It's supposed to be " . Some JSON parsers (particularly some Python libraries) are really lax about this, but what you have there isn't JSON. It's a semi-JSON like string.

See json.org
Comment by kzeller [ 18/Jul/12 ]
I will add this last point to the section on Using JSON docs in the Structuring Data chapter of dev. guide....




[RCBC-57] Implement general purpose timers Created: 12/Jul/12  Updated: 13/Nov/12  Resolved: 18/Jul/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: 1.2.0.dp6
Security Level: Public

Type: Bug Priority: Major
Reporter: Sergey Avseyev Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Dependency
depends on CCBC-85 Implement general purpose timers Closed

 Description   
The timers absolutely useful thing, for implementing TMPOOM back-offs for example

 Comments   
Comment by Sergey Avseyev [ 18/Jul/12 ]
http://review.couchbase.org/18543




[RCBC-55] Update the getting started to match the Beer sample DB Created: 12/Jul/12  Updated: 13/Jan/14  Resolved: 13/Jan/14

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Improvement Priority: Major
Reporter: Matt Ingenthron Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Once the sample DB has been integrated into the server, update the getting started (both on the web page and in the documentation) to use the sample database.





[RCBC-53] View error options at query time Created: 12/Jul/12  Updated: 13/Nov/12  Resolved: 12/Jul/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: 1.2.0.dp
Security Level: Public

Type: Improvement Priority: Major
Reporter: Matt Ingenthron Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
At view query time, we need to ensure the developer has the ability to add an "on_error" parameter with values of either "stop" or "continue".





[RCBC-51] Add Design document management, including error handling Created: 12/Jul/12  Updated: 13/Nov/12  Resolved: 12/Jul/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: 1.2.0.dp
Security Level: Public

Type: Improvement Priority: Major
Reporter: Matt Ingenthron Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Add the additional functionality needed to create and replace design documents.




[RCBC-52] Bucket management Created: 12/Jul/12  Updated: 13/Nov/12  Resolved: 18/Oct/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: 1.2.0.z.beta
Security Level: Public

Type: Improvement Priority: Major
Reporter: Matt Ingenthron Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Add the necessary features to create and remove buckets. Also, add the ability to call the RESTful bucket flush.


 Comments   
Comment by Matt Ingenthron [ 14/Aug/12 ]
See related flush issue:
http://www.couchbase.com/issues/browse/MB-5170
Comment by Matt Ingenthron [ 12/Sep/12 ]
Is this closeable? A dupe?




[RCBC-46] Create shared pool of persistent connections Created: 05/Jul/12  Updated: 13/Jan/14  Resolved: 04/May/13

Status: Closed
Project: Couchbase Ruby client library
Component/s: library
Affects Version/s: 1.0.0
Fix Version/s: 1.3.0
Security Level: Public

Type: Bug Priority: Major
Reporter: Anonymous Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: All


 Description   
Need a setting to indicate a connection should be persisted.

 Comments   
Comment by Sergey Avseyev [ 12/Jul/12 ]
I think connection pool is quite related thing. There is good implementation in mongo driver https://github.com/mongodb/mongo-ruby-driver/blob/master/lib/mongo/util/pool.rb I think I can re-use it because it is also Apache-2 licensed
Comment by Matt Ingenthron [ 28/Aug/12 ]
The current library already a thread local connection. Moving this to 2.0 as we may add a connection pool in that timeframe, but there is no current plan to add a connection pool.

Thread locals provide persistent connections, so I'm also changing the summary of the bug to be more accurate with respect to what's intended.
Comment by Sergey Avseyev [ 04/May/13 ]
http://review.couchbase.org/26028 Thanks to Mike Evans




[RCBC-44] Need to Convert Vartype XML into HTML/PDF/Epub Created: 22/Jun/12  Updated: 13/Nov/12  Resolved: 12/Sep/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: docs
Affects Version/s: 1.0.0
Fix Version/s: 1.0.0
Security Level: Public

Type: Bug Priority: Major
Reporter: Anonymous Assignee: MC Brown (Inactive)
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Need to convert all the vartype XML tags and content into tables for option hashes. Content there but not available on web.

 Comments   
Comment by kzeller [ 22/Jun/12 ]
This should actually be an enhancement to our build system, not a bug.
Comment by MC Brown (Inactive) [ 12/Sep/12 ]
This has now been implemented.




[RCBC-45] Support Class Inheritance in Metadocs System Created: 22/Jun/12  Updated: 13/Jan/14  Resolved: 21/Nov/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: docs
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Improvement Priority: Major
Reporter: Anonymous Assignee: MC Brown (Inactive)
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Sergey requests that we provide class hierarchy/inheritance in the language reference. Required for Ruby SDK.

 Comments   
Comment by MC Brown (Inactive) [ 21/Nov/12 ]
We have this support now by using the parentclass attribute on a given apicall




[RCBC-34] Using Yajl json_gem compatibility breaks compatibility with many gems and applications Created: 09/May/12  Updated: 13/Nov/12  Resolved: 07/Jun/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: 1.2.0.dp3
Security Level: Public

Type: Bug Priority: Major
Reporter: Ben Poweski Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
json_gem compatibility (require 'yajl/json_gem') is notorious for causing all kinds of issues with various gems. The most compatible way to use yajl is to call Yajl::Parser and Yajl::Encoder directly.

So far I only see tests that are using JSON.dump



 Comments   
Comment by Sergey Avseyev [ 10/May/12 ]
Thanks for feedback,

Does it make situation better if I'll use https://github.com/intridea/multi_json ?
Comment by Ben Poweski [ 10/May/12 ]
MultiJson would be better than using json_gem compatibility (Rails uses mulit_json to abstract json parsers). In this case though I don't think you even need to pull that dependency. If you just use Yajl::Parser and Yajl::Encoder directly you can skirt the entire problem.

If you look at the the json_gem.rb file it really doesn't provide much functionality.

  def self.generate(obj, opts={})
    begin
      options_map = {}
      if opts.has_key?(:indent)
        options_map[:pretty] = true
        options_map[:indent] = opts[:indent]
      end
      Yajl::Encoder.encode(obj, options_map)
    rescue Yajl::EncodeError => e
      raise JSON::GeneratorError, e.message
    end
  end

  def self.pretty_generate(obj, opts={})
    begin
      options_map = {}
      options_map[:pretty] = true
      options_map[:indent] = opts[:indent] if opts.has_key?(:indent)
      Yajl::Encoder.encode(obj, options_map)
    rescue Yajl::EncodeError => e
      raise JSON::GeneratorError, e.message
    end
  end

  def self.dump(obj, io=nil, *args)
    begin
      Yajl::Encoder.encode(obj, io)
    rescue Yajl::EncodeError => e
      raise JSON::GeneratorError, e.message
    end
  end
Comment by Sergey Avseyev [ 17/May/12 ]
Uploaded to review site http://review.couchbase.org/16153
Comment by Ben Poweski [ 24/May/12 ]
There is special handing for the json gem in rails thus breaking capability when the json_gem file is loaded after rails is

https://github.com/rails/rails/blob/master/activesupport/lib/active_support/core_ext/object/to_json.rb

We worked around the issue by requiring yajl/json_gem before loading actives active support but this could have very well unknowingly break the driver.
Comment by Sergey Avseyev [ 25/May/12 ]
Now couchbase gem depends on only MultiJson and uses dump/load everywhere. Could you check current master version from github?




[RCBC-29] Cannot read value when incorrect flags are set Created: 19/Mar/12  Updated: 13/Nov/12  Resolved: 19/Mar/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: library
Affects Version/s: 1.1.0
Fix Version/s: 1.1.1
Security Level: Public

Type: Bug Priority: Major
Reporter: Darian Shimy Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: ruby 1.9.3


 Description   
We have a third party application writing data to couchbase using Python. When the Ruby application tries to read the data, the following error is returned:

  Couchbase::Error::ValueFormat: unable to convert value

The Ruby gem is using the flags to determine the serialization method and there is no way to override. This could be resolved by allowing the get to take a format parameter such as:

  connection.get 'some_key', :format => :plain



 Comments   
Comment by Sergey Avseyev [ 19/Mar/12 ]
Fixed in patch http://review.couchbase.org/14072




[RCBC-27] EventMachine support Created: 01/Mar/12  Updated: 12/Feb/13  Resolved: 08/Feb/13

Status: Closed
Project: Couchbase Ruby client library
Component/s: library
Affects Version/s: None
Fix Version/s: 1.2.2
Security Level: Public

Type: Improvement Priority: Major
Reporter: Sergey Avseyev Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Comments   
Comment by Sergey Avseyev [ 28/Mar/12 ]
There is another project for tracking EventMachine integration: RCBCEM

https://github.com/couchbaselabs/couchbase-ruby-client-em

This repository contains the library which built atop of EventMachine and could use SET/GET commands.
Comment by Sergey Avseyev [ 06/Jan/13 ]
That experimental project is going to be deprecated because of newer patch

http://review.couchbase.org/23347
Comment by Sergey Avseyev [ 08/Feb/13 ]
http://review.couchbase.org/23347




[RCBC-12] running unit tests under CI Created: 12/Jan/12  Updated: 13/Nov/12  Resolved: 08/Jun/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Task Priority: Major
Reporter: Matt Ingenthron Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Comments   
Comment by Sergey Avseyev [ 28/Mar/12 ]
http://travis-ci.org/couchbase/couchbase-ruby-client
Comment by Sergey Avseyev [ 08/Jun/12 ]
Configured appropriate job on jenkins http://sdkbuilds.couchbase.com/job/couchbase-ruby-client/ for following rubies:

* 1.8.7
* 1.9.2
* 1.9.3




[RCBC-11] building under CI Created: 12/Jan/12  Updated: 13/Nov/12  Resolved: 08/Jun/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Task Priority: Major
Reporter: Matt Ingenthron Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Comments   
Comment by Sergey Avseyev [ 28/Mar/12 ]
http://travis-ci.org/couchbase/couchbase-ruby-client
Comment by Sergey Avseyev [ 08/Jun/12 ]
http://sdkbuilds.couchbase.com/job/couchbase-ruby-client/




[RCBC-9] all_docs.count fails after a flush Created: 21/Oct/11  Updated: 13/Nov/12  Resolved: 31/May/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: 1.2.0.z.beta
Security Level: Public

Type: Bug Priority: Major
Reporter: Alan McKean (Inactive) Assignee: Sergey Avseyev
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: Mac Snow Leopard, Couchbase Server Mac, after couchbase.flush

Issue Links:
Dependency
depends on MB-4601 flush_all works, but does not block i... Resolved

 Description   
couchbase.all_docs.count
Couchbase::ViewError: local: Database `default/1` doesn't exist.
from /usr/local/Cellar/gems/1.8/gems/couchbase-0.9.7/lib/couchbase/view.rb:140:in `block in fetch'
from /usr/local/Cellar/gems/1.8/gems/couchbase-0.9.7/lib/couchbase/view.rb:133:in `loop'
from /usr/local/Cellar/gems/1.8/gems/couchbase-0.9.7/lib/couchbase/view.rb:133:in `fetch'
from /usr/local/Cellar/gems/1.8/gems/couchbase-0.9.7/lib/couchbase/view.rb:68:in `each'
from (irb):18:in `count'
from (irb):18
from /usr/local/bin/irb:12:in `<main>'

 Comments   
Comment by Sergey Avseyev [ 29/Dec/11 ]
flush operation drops all databases and it needed some time for couchbase to recreate them. So currently you can sleep for a while.
Comment by Matt Ingenthron [ 29/Dec/11 ]
Filed MB-4601. This is a slight violation of protocol. I wouldn't mind if flush were slow, but it shouldn't break protocol.
Comment by Sergey Avseyev [ 31/May/12 ]
flush command is disabled by default




[RCBC-7] errors during the installation of the required gem, memcached Created: 07/Oct/11  Updated: 13/Nov/12  Resolved: 07/Oct/11

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Major
Reporter: Rhett Clement Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: Linux version 2.6.35.14-95.38.amzn1.i686 (mockbuild@build-31002.build) (gcc version 4.4.5 20110214 (Red Hat 4.4.5-6) (GCC) ) #1 SMP Thu Aug 25 17:11:35 UTC 2011

Users also report the issue on RHEL/Ubuntu.

    bash: "/bin/bash => GNU bash, version 4.1.2(1)-release (i386-redhat-linux-gnu)"
    zsh: " => not installed"
  rvm:
    version: "rvm 1.8.5 by Wayne E. Seguin (wayneeseguin@gmail.com) [https://rvm.beginrescueend.com/]"
  ruby:
    interpreter: "ruby"
    version: "1.9.2p290"
    date: "2011-07-09"
    platform: "i686-linux"
    patchlevel: "2011-07-09 revision 32553"
    full_version: "ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux]"

 

Attachments: Text File config.log     File config.status     File configure    

 Description   
The config.status phase of the rake's compile task fails.
     configure:21918: error: possibly undefined macro: AC_LIB_HAVE_LINKFLAGS
           If this token and others are legitimate, please use m4_pattern_allow.
           See the Autoconf documentation.
     make: *** [configure] Error 1

A more comprehensive history of the issue can be found here: https://github.com/fauna/memcached/issues/52

FYI - The symptoms are also reported in this (older) issue https://github.com/fauna/memcached/issues/15

 Comments   
Comment by Sergey Avseyev [ 07/Oct/11 ]
The following patch solves the issue for ruby 1.8.7 and 1.9.2

https://github.com/fauna/memcached/pull/68

See complete log here https://github.com/fauna/memcached/issues/52




[RCBC-33] Crash caused by libc detecting buffer overflow Created: 30/Apr/12  Updated: 13/Nov/12  Resolved: 02/May/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: library
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Major
Reporter: Aleksey Kondratenko Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: Debian GNU/Linux i386 sid (kept up to date)


 Description   
While trying to understand issue in MB-4493 (caused by our unusual auth behavior, which could be client "bug" as well) I tried the following from irb and here's what I got:

>> Couchbase.new(:hostname => "localhost", :port => 9000, :bucket => "pwprotected", :username =>"Administrator", :password=>"asdasd")
*** buffer overflow detected ***: irb terminated
======= Backtrace: =========
/lib/i386-linux-gnu/i686/cmov/libc.so.6(__fortify_fail+0x50)[0xf7521f70]
/lib/i386-linux-gnu/i686/cmov/libc.so.6(+0xe3eaa)[0xf7520eaa]
/lib/i386-linux-gnu/i686/cmov/libc.so.6(__strcpy_chk+0x44)[0xf7520224]
/usr/lib/libcouchbase.so.1(+0x59c1)[0xf6c1b9c1]
======= Memory map: ========
08048000-08049000 r-xp 00000000 08:02 17341823 /usr/bin/ruby1.8
08049000-0804a000 r--p 00000000 08:02 17341823 /usr/bin/ruby1.8
0804a000-0804b000 rw-p 00001000 08:02 17341823 /usr/bin/ruby1.8
08b9b000-08fbd000 rw-p 00000000 00:00 0 [heap]
f6b79000-f6b95000 r-xp 00000000 08:02 17995831 /lib/i386-linux-gnu/libgcc_s.so.1
f6b95000-f6b96000 rw-p 0001b000 08:02 17995831 /lib/i386-linux-gnu/libgcc_s.so.1
f6b96000-f6bcb000 r--s 00000000 08:02 11171194 /var/cache/nscd/hosts
f6bcb000-f6c11000 r-xp 00000000 08:02 17736136 /usr/lib/libevent-2.0.so.5.1.6
f6c11000-f6c12000 rw-p 00046000 08:02 17736136 /usr/lib/libevent-2.0.so.5.1.6
f6c12000-f6c14000 r-xp 00000000 08:02 17736875 /usr/lib/libcouchbase_libevent.so.1.0.0
f6c14000-f6c15000 r--p 00001000 08:02 17736875 /usr/lib/libcouchbase_libevent.so.1.0.0
f6c15000-f6c16000 rw-p 00002000 08:02 17736875 /usr/lib/libcouchbase_libevent.so.1.0.0
f6c16000-f6c26000 r-xp 00000000 08:02 17736895 /usr/lib/libcouchbase.so.1.2.0
f6c26000-f6c27000 r--p 0000f000 08:02 17736895 /usr/lib/libcouchbase.so.1.2.0
f6c27000-f6c28000 rw-p 00010000 08:02 17736895 /usr/lib/libcouchbase.so.1.2.0
f6c28000-f6c33000 r-xp 00000000 08:02 16171260 /var/lib/gems/1.8/gems/yajl-ruby-1.1.0/lib/yajl/yajl.so
f6c33000-f6c34000 rw-p 0000a000 08:02 16171260 /var/lib/gems/1.8/gems/yajl-ruby-1.1.0/lib/yajl/yajl.so
f6c34000-f6f52000 rw-p 00000000 00:00 0
f6f52000-f7072000 r--p 001ee000 08:02 23382439 /usr/lib/locale/locale-archive
f7072000-f7272000 r--p 00000000 08:02 23382439 /usr/lib/locale/locale-archive
f7272000-f7311000 rw-p 00000000 00:00 0
f7311000-f732e000 r-xp 00000000 08:02 17995776 /lib/i386-linux-gnu/libtinfo.so.5.9
f732e000-f7330000 r--p 0001c000 08:02 17995776 /lib/i386-linux-gnu/libtinfo.so.5.9
f7330000-f7331000 rw-p 0001e000 08:02 17995776 /lib/i386-linux-gnu/libtinfo.so.5.9
f7331000-f7353000 r-xp 00000000 08:02 17995778 /lib/i386-linux-gnu/libncurses.so.5.9
f7353000-f7354000 r--p 00021000 08:02 17995778 /lib/i386-linux-gnu/libncurses.so.5.9
f7354000-f7355000 rw-p 00022000 08:02 17995778 /lib/i386-linux-gnu/libncurses.so.5.9
f7355000-f7389000 r-xp 00000000 08:02 17992855 /lib/i386-linux-gnu/libreadline.so.5.2
f7389000-f738d000 rw-p 00033000 08:02 17992855 /lib/i386-linux-gnu/libreadline.so.5.2
f738d000-f738e000 rw-p 00000000 00:00 0
f73b2000-f743d000 rw-p 00000000 00:00 0
f743d000-f7593000 r-xp 00000000 08:02 17995820 /lib/i386-linux-gnu/i686/cmov/libc-2.13.so
f7593000-f7594000 ---p 00156000 08:02 17995820 /lib/i386-linux-gnu/i686/cmov/libc-2.13.so
f7594000-f7596000 r--p 00156000 08:02 17995820 /lib/i386-linux-gnu/i686/cmov/libc-2.13.so
f7596000-f7597000 rw-p 00158000 08:02 17995820 /lib/i386-linux-gnu/i686/cmov/libc-2.13.so
f7597000-f759a000 rw-p 00000000 00:00 0
f759a000-f75be000 r-xp 00000000 08:02 17995814 /lib/i386-linux-gnu/i686/cmov/libm-2.13.so
f75be000-f75bf000 r--p 00023000 08:02 17995814 /lib/i386-linux-gnu/i686/cmov/libm-2.13.so
f75bf000-f75c0000 rw-p 00024000 08:02 17995814 /lib/i386-linux-gnu/i686/cmov/libm-2.13.so
f75c0000-f75c9000 r-xp 00000000 08:02 17995801 /lib/i386-linux-gnu/i686/cmov/libcrypt-2.13.so
f75c9000-f75ca000 r--p 00008000 08:02 17995801 /lib/i386-linux-gnu/i686/cmov/libcrypt-2.13.so
f75ca000-f75cb000 rw-p 00009000 08:02 17995801 /lib/i386-linux-gnu/i686/cmov/libcrypt-2.13.so
f75cb000-f75f2000 rw-p 00000000 00:00 0
f75f2000-f75f4000 r-xp 00000000 08:02 17995803 /lib/i386-linux-gnu/i686/cmov/libdl-2.13.so
f75f4000-f75f5000 r--p 00001000 08:02 17995803 /lib/i386-linux-gnu/i686/cmov/libdl-2.13.so
f75f5000-f75f6000 rw-p 00002000 08:02 17995803 /lib/i386-linux-gnu/i686/cmov/libdl-2.13.so
f75f6000-f75fd000 r-xp 00000000 08:02 17995828 /lib/i386-linux-gnu/i686/cmov/librt-2.13.so
f75fd000-f75fe000 r--p 00006000 08:02 17995828 /lib/i386-linux-gnu/i686/cmov/librt-2.13.so
f75fe000-f75ff000 rw-p 00007000 08:02 17995828 /lib/i386-linux-gnu/i686/cmov/librt-2.13.so
f75ff000-f7600000 rw-p 00000000 00:00 0
f7600000-f7615000 r-xp 00000000 08:02 17995797 /lib/i386-linux-gnu/i686/cmov/libpthread-2.13.so
f7615000-f7616000 r--p 00014000 08:02 17995797 /lib/i386-linux-gnu/i686/cmov/libpthread-2.13.so
f7616000-f7617000 rw-p 00015000 08:02 17995797 /lib/i386-linux-gnu/i686/cmov/libpthread-2.13.so
f7617000-f7619000 rw-p 00000000 00:00 0
f7619000-f7703000 r-xp 00000000 08:02 17736598 /usr/lib/libruby1.8.so.1.8.7
f7703000-f7706000 rw-p 000e9000 08:02 17736598 /usr/lib/libruby1.8.so.1.8.7
f7706000-f7716000 rw-p 00000000 00:00 0
f7717000-f771e000 r-xp 00000000 08:02 17736748 /usr/lib/libvbucket.so.1.1.0
f771e000-f771f000 r--p 00006000 08:02 17736748 /usr/lib/libvbucket.so.1.1.0
f771f000-f7720000 rw-p 00007000 08:02 17736748 /usr/lib/libvbucket.so.1.1.0Aborted



 Comments   
Comment by Sergey Avseyev [ 30/Apr/12 ]
Is it possible to get the line in libcouchbase which called strcpy?

/usr/lib/libcouchbase.so.1(+0x59c1)[0xf6c1b9c1]

Also what versions of libcouchbase/libvbucket/gem are you using?
Comment by Aleksey Kondratenko [ 30/Apr/12 ]
# dpkg -l '*couchbas*'
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Description
+++-=====================================================-=====================================================-==========================================================================================================================
ii libcouchbase-dev 1.0.2-1 library for the Couchbase protocol, development files
ii libcouchbase1 1.0.2-1 library for the Couchbase protocol
Comment by Aleksey Kondratenko [ 30/Apr/12 ]
 gem list --local | grep couchbase
couchbase (1.1.1)
Comment by Aleksey Kondratenko [ 30/Apr/12 ]
Program received signal SIGABRT, Aborted.
0xf7fe0430 in __kernel_vsyscall ()
(gdb) bt
#0 0xf7fe0430 in __kernel_vsyscall ()
#1 0xf7d0b941 in *__GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#2 0xf7d0ed72 in *__GI_abort () at abort.c:92
#3 0xf7d452f5 in __libc_message (do_abort=2, fmt=0xf7e18608 "*** %s ***: %s terminated\n") at ../sysdeps/unix/sysv/linux/libc_fatal.c:189
#4 0xf7dc5f70 in *__GI___fortify_fail (msg=<optimized out>) at fortify_fail.c:32
#5 0xf7dc4eaa in *__GI___chk_fail () at chk_fail.c:29
#6 0xf7dc4224 in __strcpy_chk (dest=0x83975d0 "s", src=0x80fbfc8 "simple", destlen=6) at strcpy_chk.c:61
#7 0xf7fc59c1 in ?? () from /usr/lib/libcouchbase.so.1
#8 0xf7fc6a91 in ?? () from /usr/lib/libcouchbase.so.1
#9 0xf7a27e79 in event_base_loop () from /usr/lib/libevent-2.0.so.5
#10 0xf7fbca38 in ?? () from /usr/lib/libcouchbase_libevent.so.1
#11 0xf7fcbdca in libcouchbase_wait () from /usr/lib/libcouchbase.so.1
#12 0xf7fd5169 in do_connect (bucket=0x82de188) at couchbase_ext.c:1196
#13 0xf7fd76e7 in cb_bucket_init (argc=1, argv=0xffffc960, self=4156170480) at couchbase_ext.c:1300
#14 0xf7ef3ace in call_cfunc (argv=0xffffc960, argc=1, len=-1, recv=4156170480, func=0xf7fd7610 <cb_bucket_init>) at eval.c:5778
#15 rb_call0 (klass=4156186100, recv=4156170480, id=2961, oid=2961, argc=1, argv=0xffffc960, body=0xf7ba5c78, flags=2) at eval.c:5928
#16 0xf7ef3d31 in rb_call (klass=4156186100, recv=4156170480, mid=2961, argc=1, argv=0xffffc960, scope=1, self=<optimized out>) at eval.c:6176
#17 0xf7ef40ec in rb_funcall2 (recv=4156170480, mid=2961, argc=1, argv=0xffffc960) at eval.c:6312
#18 0xf7ef419a in rb_obj_call_init (obj=4156170480, argc=1, argv=0xffffc960) at eval.c:7825
#19 0xf7fd456e in cb_bucket_new (argc=1, argv=0xffffc960, klass=4156186100) at couchbase_ext.c:1227
#20 0xf7ef3ace in call_cfunc (argv=0xffffc960, argc=1, len=-1, recv=4156186100, func=0xf7fd44d0 <cb_bucket_new>) at eval.c:5778
#21 rb_call0 (klass=4156186080, recv=4156186100, id=3361, oid=3361, argc=1, argv=0xffffc960, body=0xf7ba5cf0, flags=0) at eval.c:5928
#22 0xf7ef3d31 in rb_call (klass=4156186080, recv=4156186100, mid=3361, argc=1, argv=0xffffc960, scope=0, self=<optimized out>) at eval.c:6176
#23 0xf7ef9409 in rb_eval (self=4155198180, n=0xf7ab5ef8) at eval.c:3506
#24 0xf7ef3061 in rb_call0 (klass=4156171320, recv=4155198180, id=3361, oid=15945, argc=<optimized out>, argv=<optimized out>, body=0xf7ab5ea8, flags=0) at eval.c:6079
#25 0xf7ef3d31 in rb_call (klass=4156171320, recv=4155198180, mid=3361, argc=1, argv=0xffffce90, scope=0, self=<optimized out>) at eval.c:6176
#26 0xf7ef9409 in rb_eval (self=4157462860, n=0xf7c9b4ac) at eval.c:3506
#27 0xf7effb3d in ruby_exec_internal () at eval.c:1654
#28 0xf7effb90 in ruby_exec () at eval.c:1674
#29 0xf7f022cc in ruby_run () at eval.c:1684
#30 0x0804868d in main (argc=6, argv=0xffffd394, envp=0xffffd3b0) at main.c:48
Comment by Aleksey Kondratenko [ 30/Apr/12 ]
simple is pwprotected's bucket password. Not sure if it's good idea to use it at all btw
Comment by Sergey Avseyev [ 30/Apr/12 ]
http://review.couchbase.org/14641 it was fixed

try to use

   deb http://packages.couchbase.com/preview/ubuntu oneiric oneiric/main

or

  deb http://packages.couchbase.com/preview/ubuntu lucid lucid/main

And then install preview couchbase gem: gem install couchbase --pre

(you'll also get Views API btw)
Comment by Sergey Avseyev [ 02/May/12 ]
The problem fixed in libcouchbase 1.0.3: http://couchbase.com/develop/c/current




[RCBC-31] The get command is not idiomatic, a multi-get command should be added to ensure consistent processing of the result Created: 10/Apr/12  Updated: 13/Nov/12  Resolved: 17/Apr/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: 1.2.0.z.beta
Security Level: Public

Type: New Feature Priority: Major
Reporter: Ben Poweski Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
The pattern of using more than one argument to determine if an array should be returned is not idiomatic. Consider the case of a multi-get in an application where I have n items to return. If there happens to be only one item it will be treated differently than if there happens to be 2 items.

This forces the application user to wrap all results with a check to see if the result is an array or not in every use of the command

 Comments   
Comment by Sergey Avseyev [ 11/Apr/12 ]
Indeed. What if I leave current get implementation, but now will return Array if the keys passed as Array, even if there was single element there:

  get(["foo"]) #=> ["bar"]
  get("foo") #=> "bar"

In this case the method behaviour will be consistent. What do you think?
Comment by Sergey Avseyev [ 11/Apr/12 ]
Here is the patch http://review.couchbase.org/14759

Does it makes sense for you?
Comment by Ben Poweski [ 11/Apr/12 ]
You should consider adding a get_multi option as the the dalli driver uses this pattern.

get_multi("key1", "key2") #=> { "key1" => 1, "key2" => 2 }

Also, our use case is to use the :extended => true option so we may retrieve the integer flag.

I should expect this to work:

get(["foo"], :extended => true) #=> { "foo" => [value, 0x001, 12342343433343] }
Comment by Sergey Avseyev [ 11/Apr/12 ]
The latter case is working actually

  1.9.2p318 (main):011:0> Couchbase.bucket.get("x", "y", :extended => true)
  {"x"=>["xval", 0, 12204754167235346432], "y"=>["yval", 0, 15062578311643791360]}
  1.9.2p318 (main):012:0> Couchbase.bucket.get(["x", "y"], :extended => true)
  {"x"=>["xval", 0, 12204754167235346432], "y"=>["yval", 0, 15062578311643791360]}

In first case I'm returning just array because it has the same order as arguments. So that you can assign them directly to variables:

  x, y = Couchbase.bucket.get(["x", "y"])

and you can easily build a Hash from it

  keys = ["x", "y"]
  vals = Couchbase.bucket.get(keys)
  Hash[keys.zip(vals)] #=> {"x"=>"xval", "y"=>"yval"}

The version with such behaviour already published, I can create wrapper which will do it for you, or add new option.
Comment by Sergey Avseyev [ 11/Apr/12 ]
> get(["foo"], :extended => true) #=> { "foo" => [value, 0x001, 12342343433343] }

Sorry I missed that it is only one member
Comment by Sergey Avseyev [ 11/Apr/12 ]
Updated that patch http://review.couchbase.org/14759
Comment by Sergey Avseyev [ 17/Apr/12 ]
https://github.com/couchbase/couchbase-ruby-client/commit/538aba7534e2255c295565242d1072a0a45482ee




[RCBC-24] Ruby script hangs on large first value Created: 03/Feb/12  Updated: 13/Nov/12  Resolved: 08/Jun/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Major
Reporter: James Mauss Assignee: Sergey Avseyev
Resolution: Cannot Reproduce Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: ruby 1.8.7 (2010-01-10 patchlevel 249)
Mac or ubuntu11, couchbase (1.0.0)


 Description   
In the following script, writing the value "data" hangs the script unless a smaller value is written first.

In the wireshark trace, I do not see any outbound memcache traffic when the script fails.


require 'rubygems'
require 'couchbase'

begin
  
  #Create a large array and a small value
  value = 2
  data = Array.new

  for i in 0..200000
    data.push(Time.at(rand * Time.now.to_i))
  end

  cb = Couchbase.new("http://10.17.2.172:8091/pools/default")
  cb.quiet = false

  puts value;
  puts data.length();

  #uncomment out line below to have it work.
  #cb.set("smallValue1", value)

  cb.set("bigValue1",data)
  
  cb.set("smallValue2", value)

end

 Comments   
Comment by Matt Ingenthron [ 17/Feb/12 ]
Has this been reproduced?
Comment by Sergey Avseyev [ 01/Mar/12 ]
Just verified this using two versions of ruby

ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]

ruby 1.9.2p312 (2011-08-11 revision 32926) [x86_64-linux]

and two versions of couchbase gem: 1.0.0 and master

All is OK. James, could you tell what server version are you using?




[RCBC-15] deploying to download locations directly from CI Created: 12/Jan/12  Updated: 13/Nov/12  Resolved: 07/Jun/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Task Priority: Major
Reporter: Matt Ingenthron Assignee: Matt Ingenthron
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
The idea here is that the any commit that is code reviewed and approved will generate a build and deploy it to a separate location. Release builds will be automatically deployed to the release location.




[RCBC-14] building shippable artifacts under CI Created: 12/Jan/12  Updated: 13/Nov/12  Resolved: 07/Jun/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Task Priority: Major
Reporter: Matt Ingenthron Assignee: Matt Ingenthron
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Comments   
Comment by Sergey Avseyev [ 07/Jun/12 ]
There is rake tasks to build shippable artifacts: rake package and rake package:windows

But best practice is to release manually




[RCBC-13] running integration tests under CI Created: 12/Jan/12  Updated: 13/Nov/12  Resolved: 08/Jun/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Task Priority: Major
Reporter: Matt Ingenthron Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Comments   
Comment by Sergey Avseyev [ 08/Jun/12 ]
Configured appropriate job on jenkins http://sdkbuilds.couchbase.com/job/couchbase-ruby-client/ for following rubies:

* 1.8.7
* 1.9.2
* 1.9.3




[RCBC-16] getting started guide needed Created: 12/Jan/12  Updated: 13/Nov/12  Resolved: 07/Jun/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: None
Affects Version/s: None
Fix Version/s: 1.2.0.dp
Security Level: Public

Type: New Feature Priority: Major
Reporter: Matt Ingenthron Assignee: Raghavan Srinivas (Inactive)
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Comments   
Comment by Sergey Avseyev [ 08/Apr/12 ]
I thank that couchbase-squish is the aubject of this issue




[RCBC-32] client.design_docs['docName'] returns empty hash Created: 24/Apr/12  Updated: 13/Nov/12  Resolved: 22/Jun/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: library
Affects Version/s: 1.2.0.dp
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Major
Reporter: Tim Smith (Inactive) Assignee: Sergey Avseyev
Resolution: Cannot Reproduce Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
 I got this report from a user:

The ruby client does not work as api describes, using couchbase gem 1.2.0.dp:

    view = client.design_docs['docName'].viewName(params)

where docName, viewName and params are correctly substituted does not work for us, in fact client.design_docs['docName'] always return an empty hash for us.

The other approach does work however

    view = Couchbase::View.new(client, "_design/docName/_view/viewName", params)



 Comments   
Comment by Sergey Avseyev [ 24/Apr/12 ]
What does return following code?

  client.all_docs(:startkey => "_design/", :endkey => "_design0")

design_docs uses this query internally and filters the results. The name matters, it must not begin with 'dev_' https://github.com/couchbase/couchbase-ruby-client/blob/master/lib/couchbase/bucket.rb#L74

If you are going to use 'dev_' prefix, you should specify ':environment => :development' option when you are creating the connection
Comment by Sergey Avseyev [ 08/Jun/12 ]
Hi Tim, could you verify the issue with latest couchbase gem (1.2.0.dp4) and libcouchbase (1.1.0dp5)?




[RCBC-30] support errors on views Created: 22/Mar/12  Updated: 13/Nov/12  Resolved: 08/Apr/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: library
Affects Version/s: None
Fix Version/s: 1.2.0.z.beta
Security Level: Public

Type: New Feature Priority: Major
Reporter: Matt Ingenthron Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Views now have some options on capturing errors and stopping on errors as documented here:
http://www.couchbase.com/docs/couchbase-manual-2.0/couchbase-views-writing-errors.html

The client needs to support these.

 Comments   
Comment by Sergey Avseyev [ 08/Apr/12 ]
Views implementation support on_error callback for views which receive the error object. By default the library will generate exception when find error in result unless on_error calback is set




[RCBC-28] add support for unlock command Created: 11/Mar/12  Updated: 13/Nov/12  Resolved: 18/Oct/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: library
Affects Version/s: None
Fix Version/s: 1.2.0.z.beta
Security Level: Public

Type: New Feature Priority: Major
Reporter: Matt Ingenthron Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Couchbase server has a keyed unlock command, which goes along with the getl command. The Ruby client needs to add support for this command.

 Comments   
Comment by Sergey Avseyev [ 12/Sep/12 ]
http://review.couchbase.org/20794




[RCBC-25] ruby client hangs when trying to use a sasl protected bucket Created: 07/Feb/12  Updated: 13/Nov/12  Resolved: 01/Mar/12

Status: Closed
Project: Couchbase Ruby client library
Component/s: library
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Major
Reporter: Erick Tryzelaar Assignee: Sergey Avseyev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: Apple OSX 10.6, ruby 1.9.2, libcouchbase 1.0.0, libvbucket 1.8.0.1, couchbase-ruby-client trunk


 Description   
This simple ruby script:

require 'couchbase'
c = Couchbase.new('http://localhost:11211/pools/default/buckets/sasl&#39;, :password => 'sasl')

Hangs. Here's the stack trace:

#0 0x00007fff83746c0a in kevent ()
#1 0x00000001005a45f5 in kq_dispatch ()
#2 0x0000000100593cdc in event_base_loop ()
#3 0x000000010058257a in libcouchbase_wait ()
#4 0x00000001002f5824 in cb_bucket_init ()
#5 0x000000010016d034 in vm_call0 ()
#6 0x00000001001721ee in rb_funcall2 ()
#7 0x00000001002f4bc7 in cb_bucket_new ()
#8 0x00000001001779c3 in vm_call_method ()
#9 0x0000000100162d23 in vm_exec_core ()
#10 0x000000010016b873 in vm_exec ()
#11 0x000000010016c0c0 in eval_string_with_cref ()
#12 0x000000010016c7e2 in rb_f_eval ()
#13 0x00000001001779c3 in vm_call_method ()
#14 0x0000000100162d23 in vm_exec_core ()
#15 0x000000010016b873 in vm_exec ()
#16 0x0000000100179d51 in loop_i ()
#17 0x000000010003bdb7 in rb_rescue2 ()
#18 0x000000010015e9e6 in rb_f_loop ()
#19 0x00000001001779c3 in vm_call_method ()
#20 0x0000000100162d23 in vm_exec_core ()
#21 0x000000010016b873 in vm_exec ()
#22 0x00000001001799d4 in catch_i ()
#23 0x000000010015dbd5 in rb_catch_obj ()
#24 0x000000010015e8a0 in rb_f_catch ()
#25 0x00000001001779c3 in vm_call_method ()
#26 0x0000000100162d23 in vm_exec_core ()
#27 0x000000010016b873 in vm_exec ()
#28 0x00000001001799d4 in catch_i ()
#29 0x000000010015dbd5 in rb_catch_obj ()
#30 0x000000010015e8a0 in rb_f_catch ()
#31 0x00000001001779c3 in vm_call_method ()
#32 0x0000000100162d23 in vm_exec_core ()
#33 0x000000010016b873 in vm_exec ()
#34 0x000000010016bb7b in rb_iseq_eval_main ()
#35 0x000000010003c022 in ruby_exec_internal ()
#36 0x000000010003eb2c in ruby_run_node ()
#37 0x0000000100000aef in main ()

 Comments   
Comment by Erick Tryzelaar [ 07/Feb/12 ]
I forgot to mention that this is with couchbase 1.8, and I've created a sasl protected bucket named sasl with the password sasl.
Comment by Matt Ingenthron [ 07/Feb/12 ]
The URL should be to port 8091. Port 11211 is memcached protocol. You're probably sending a bunch of HTTP junk to moxi, and then it's hanging at bootstrap time.

Try replacing it with port 8091 in the URL.
Comment by Erick Tryzelaar [ 08/Feb/12 ]
Tha