[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-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-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
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-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-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-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-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-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-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-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-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)

Flagged:
Impediment

 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

Flagged:
Impediment

 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

Flagged:
Impediment

 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-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: Karen Zeller Assignee: Karen Zeller
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 Assignee: Karen Zeller
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 Karen Zeller [ 26/Mar/13 ]
Now available here and linked:

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

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




[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

Flagged:
Release Note

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




[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: Jasdeep Jaitla 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/... Resolved

 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-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-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

Flagged:
Release Note

 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-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-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-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-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-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-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-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-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-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
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-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 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 [ 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-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-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: Karen Zeller Assignee: Karen Zeller
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 Karen Zeller [ 27/Aug/12 ]
Added Sergey's edits/changes.




[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: Karen Zeller Assignee: Karen Zeller
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 Karen Zeller [ 27/Aug/12 ]
Will add to docs.
Comment by Karen Zeller [ 27/Aug/12 ]
Added to 1.8 and will add to 2.0 chapters.
Comment by Karen Zeller [ 27/Aug/12 ]
Do you have any examples in a reference app?




[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: Karen Zeller 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-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-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-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
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 [ 09/Aug/12 ]
Fixed and published




[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: Karen Zeller 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
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-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-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: Karen Zeller 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 Karen Zeller [ 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-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-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-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: Karen Zeller Assignee: MC Brown
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Flagged:
Impediment

 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 Karen Zeller [ 22/Jun/12 ]
This should actually be an enhancement to our build system, not a bug.
Comment by MC Brown [ 12/Sep/12 ]
This has now been implemented.




[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-39] Increment Decrement Delta not working Created: 14/Jun/12  Updated: 13/Nov/12  Resolved: 26/Jun/12

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: Karen Zeller Assignee: Sergey Avseyev
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 Karen Zeller [ 14/Jun/12 ]
So right now in Ruby, the increment and decrement only increment/decrement by 1?
Comment by Karen Zeller [ 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 Karen Zeller [ 22/Jun/12 ]
Great. Will update doc.




[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-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-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-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-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 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-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-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-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-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-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

Flagged:
Release Note

 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-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 ]
Thanks Matt! I found a way to get a similar hang with port 8091. I've been occasionally getting an "Unable to start sasl client" error message, and when I was poking around in irb, I got a hang when I tried using a client after I got the auth error:

irb(main):041:0> loop do; c = Couchbase.new('http://localhost:8091/pools/default/buckets/sasl&#39;, :username => 'sasl', :password => 'sasl'); c.stats; end
Couchbase::Error::Auth: Unable to start sasl client (error=0x2)
from (irb):41:in `stats'
from (irb):41:in `block in irb_binding'
from (irb):41:in `loop'
from (irb):41
from /Users/etryzelaar/.rbenv/versions/1.9.2-p290/bin/irb:12:in `<main>'
irb(main):042:0> c.stats
*Hangs*

Now it's probably just a bad idea to try to keep reusing a connection after I got an auth failure, but I would hope libcouchbase would invalidate the connection if it was unsafe to use. It'd also be great to know why I occasionally get these auth errors in the first place. Anyway, here's the stack trace for this error:

#0 0x00007fff83746c0a in kevent ()
#1 0x00000001005a45f5 in kq_dispatch ()
#2 0x0000000100593cdc in event_base_loop ()
#3 0x00000001002f391d in cb_bucket_stats (argc=<value temporarily unavailable, due to optimizations>, argv=<value temporarily unavailable, due to optimizations>, self=<value temporarily unavailable, due to optimizations>) at couchbase_ext.c:1778
#4 0x00000001001779c3 in vm_call_method ()
#5 0x0000000100162d23 in vm_exec_core ()
#6 0x000000010016b873 in vm_exec ()
#7 0x000000010016c0c0 in eval_string_with_cref ()
#8 0x000000010016c7e2 in rb_f_eval ()
#9 0x00000001001779c3 in vm_call_method ()
#10 0x0000000100162d23 in vm_exec_core ()
#11 0x000000010016b873 in vm_exec ()
#12 0x0000000100179d51 in loop_i ()
#13 0x000000010003bdb7 in rb_rescue2 ()
#14 0x000000010015e9e6 in rb_f_loop ()
#15 0x00000001001779c3 in vm_call_method ()
#16 0x0000000100162d23 in vm_exec_core ()
#17 0x000000010016b873 in vm_exec ()
#18 0x00000001001799d4 in catch_i ()
#19 0x000000010015dbd5 in rb_catch_obj ()
#20 0x000000010015e8a0 in rb_f_catch ()
#21 0x00000001001779c3 in vm_call_method ()
#22 0x0000000100162d23 in vm_exec_core ()
#23 0x000000010016b873 in vm_exec ()
#24 0x00000001001799d4 in catch_i ()
#25 0x000000010015dbd5 in rb_catch_obj ()
#26 0x000000010015e8a0 in rb_f_catch ()
#27 0x00000001001779c3 in vm_call_method ()
#28 0x0000000100162d23 in vm_exec_core ()
#29 0x000000010016b873 in vm_exec ()
#30 0x000000010016bb7b in rb_iseq_eval_main ()
#31 0x000000010003c022 in ruby_exec_internal ()
#32 0x000000010003eb2c in ruby_run_node ()
#33 0x0000000100000aef in main ()
Comment by Matt Ingenthron [ 17/Feb/12 ]
I believe this is likely solved with the libcouchbase 1.0.1 just released the other day. Sergey, do you think so too?
Comment by Sergey Avseyev [ 01/Mar/12 ]
It is fixed in libcouchbase and works well on master version of couchbase ruby gem, which hasn't released yet
Comment by Sergey Avseyev [ 01/Mar/12 ]
There are several fixes related to SASL in libcouchbase:

http://review.couchbase.org/12722
http://review.couchbase.org/12700
http://review.couchbase.org/12857




[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-20] API reference is complete Created: 12/Jan/12  Updated: 13/Nov/12  Resolved: 05/Jul/12

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

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


 Comments   
Comment by Matt Ingenthron [ 12/Jan/12 ]
Filed this to Rags, even though MC is managing the creation of this reference.
Comment by Sergey Avseyev [ 08/Apr/12 ]
https://github.com/avsej/docs/blob/ruby-api/Couchbase/metadocs/api/couchbase-ruby.src.xml

this is an XML dump of rubydoc
Comment by Karen Zeller [ 05/Jul/12 ]
Updated for Ruby 1.0, 1.1 and 1.2 files. Includes connection content

Content waiting in production queue.




[RCBC-18] getting started screencast is available Created: 12/Jan/12  Updated: 13/Nov/12  Resolved: 08/Jun/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: New Feature Priority: Major
Reporter: Matt Ingenthron Assignee: Raghavan Srinivas
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Comments   
Comment by Matt Ingenthron [ 17/Feb/12 ]
This is closeable, right?
Comment by Sergey Avseyev [ 08/Jun/12 ]
Closing because screencast is available at http://www.couchbase.com/develop/ruby/current




[RCBC-17] getting started is also on the web page Created: 12/Jan/12  Updated: 22/Jun/12  Resolved: 22/Jun/12

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

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


 Comments   
Comment by Sergey Avseyev [ 22/Jun/12 ]
Could you verify the state of this issue? looks like there a lot of places with getting started notes:

- http://www.couchbase.com/develop/ruby/current
- http://www.couchbase.com/develop/ruby/next
- http://www.couchbase.com/docs/couchbase-sdk-ruby-1.1/couchbase-sdk-ruby-getting-started-hello.html
- http://www.couchbase.com/docs/couchbase-sdk-ruby-1.1/tutorial.html
- http://www.couchbase.com/docs/couchbase-sdk-ruby-1.2/couchbase-sdk-ruby-getting-started-hello.html
- http://www.couchbase.com/docs/couchbase-sdk-ruby-1.2/tutorial.html
Comment by Matt Ingenthron [ 22/Jun/12 ]
I consider this complete.




[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
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-19] tutorial chapter is complete Created: 12/Jan/12  Updated: 13/Nov/12  Resolved: 22/Jun/12

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

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


 Comments   
Comment by Sergey Avseyev [ 22/Jun/12 ]
I think the tutorial is complete enough, isn't it?




[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-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 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-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-23] Gem install does not include all libs needed Created: 24/Jan/12  Updated: 13/Nov/12  Resolved: 01/Mar/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: Minor
Reporter: James Mauss Assignee: Matt Ingenthron
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
When installing the couchbase gem, there are a few libs that are not included. This includes libevent and the couchbase c library.

Is there a way to have all the required packages installed through the gem?

If not, the documentation should be updated.

 Comments   
Comment by Sergey Avseyev [ 01/Mar/12 ]
Thanks for report, but the README file for 1.0.0 release explains how to install dependencies https://github.com/couchbase/couchbase-ruby-client/blob/v1.0.0/README.markdown

For next version we will setup DEB and RPM repositories so it should be much easier to install and upgrade them




Generated at Mon May 20 04:24:02 CDT 2013 using JIRA 5.2.4#845-sha1:c9f4cc41abe72fb236945343a1f485c2c844dac9.