[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: |
|
||||||||
| 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: |
|
| 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: |
|
||||||||||||||||
| 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 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 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: |
|
||||||||
| 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: |
|
||||||||
| 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 |
[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: |
|
||||||||
| 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: |
|
||||||||
| 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: |
|
||||||||
| 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: |
|
| 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: |
|
||||||||
| 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: |
|
||||||||
| 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: |
|
||||||||
| 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 >> 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', :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', :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: |
|
||||||||
| 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 |
| 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: |
|
| 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 |
[RCBC-126] support libcouchbase configuration cache Created: 02/May/13 Updated: 06/May/13 Resolved: 06/May/13 |
|
| Status: | Resolved |
| Project: | Couchbase Ruby client library |
| Component/s: | library |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Task | Priority: | Critical |
| Reporter: | Matt Ingenthron | Assignee: | Sergey Avseyev |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Description |
|
libcouchbase now has a new configuration cache feature which we should support in the Ruby client. If configured with a path, it will ensure that the bootstrap honors a configuration cache until a not_my_vbucket is received (with future support for memcached buckets).
A test would verify that a configuration cache file is created after setting libcouchbase up and bootstrapping. This hopefully will be targeted for the release on May 7, 2013. This may be version 1.3.0, not sure yet. |
[RCBC-45] Support Class Inheritance in Metadocs System Created: 22/Jun/12 Updated: 21/Nov/12 Resolved: 21/Nov/12 |
|
| Status: | Resolved |
| Project: | Couchbase Ruby client library |
| Component/s: | docs |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Improvement | 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 | ||
| Description |
|
Sergey requests that we provide class hierarchy/inheritance in the language reference. Required for Ruby SDK.
|
| Comments |
| Comment by MC Brown [ 21/Nov/12 ] |
| We have this support now by using the parentclass attribute on a given apicall |
[RCBC-46] Create shared pool of persistent connections Created: 05/Jul/12 Updated: 04/May/13 Resolved: 04/May/13 |
|
| Status: | Resolved |
| Project: | Couchbase Ruby client library |
| Component/s: | library |
| Affects Version/s: | 1.0.0 |
| Fix Version/s: | 1.3.0 |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Karen Zeller | Assignee: | Sergey Avseyev |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: | All | ||
| Flagged: |
Release Note
|
| Description |
|
Need a setting to indicate a connection should be persisted.
|
| Comments |
| Comment by Sergey Avseyev [ 12/Jul/12 ] |
| I think connection pool is quite related thing. There is good implementation in mongo driver https://github.com/mongodb/mongo-ruby-driver/blob/master/lib/mongo/util/pool.rb I think I can re-use it because it is also Apache-2 licensed |
| Comment by Matt Ingenthron [ 28/Aug/12 ] |
|
The current library already a thread local connection. Moving this to 2.0 as we may add a connection pool in that timeframe, but there is no current plan to add a connection pool.
Thread locals provide persistent connections, so I'm also changing the summary of the bug to be more accurate with respect to what's intended. |
| Comment by Sergey Avseyev [ 04/May/13 ] |
| http://review.couchbase.org/26028 Thanks to Mike Evans |
[RCBC-111] SEGV during set operation when using/running ruby client multi-threaded Created: 16/Jan/13 Updated: 06/May/13 Resolved: 06/May/13 |
|
| Status: | Resolved |
| Project: | Couchbase Ruby client library |
| Component/s: | library |
| Affects Version/s: | 1.2.1 |
| Fix Version/s: | 1.3.0 |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Charles Leu | Assignee: | Sergey Avseyev |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Foundation:
Linux: "distro": "CentOS release 5.8 (Final)" Kernel: "2.6.18-274.17.1.el5xen #1 SMP Tue Jan 10 18:06:37 EST 2012 x86_64 x86_64 x86_64 GNU/Linux" Ruby: "ruby": "1.9.2p320 (2012-04-20 revision 35421) [x86_64-linux]" Couchbase: Couchbase Cluster: "nodes": ["http://server0065-vm12.listenlogic.com:4001", "http://server0065-vm13.listenlogic.com:4001", "http://server0065-vm14.listenlogic.com:4001", "http://server0065-vm15.listenlogic.com:4001"] Couchbase Server: "version": "2.0.0-1976-rel-community" Couchbase Ruby Client: "version": 1.2.1 |
||
| Issue Links: |
|
||||||||
| Flagged: |
Impediment
|
||||||||
| Description |
|
I have a ruby test program that creates a number of threads, and per thread takes a batch of documents, and stores/inserts them into couchbase. Each thread will be executing ruby code much like:
# Insert each record (Hash) into Couchbase records.each { |record| key = record[:id].to_s cb.set(key, record) if !key.nil? } The program starts, and subsequently SEGVs and yields a stack trace, for example: [New Thread 0x40fbf940 (LWP 13650)] [New Thread 0x41a33940 (LWP 13651)] [New Thread 0x40e58940 (LWP 13652)] [New Thread 0x400d5940 (LWP 13653)] [New Thread 0x40ed9940 (LWP 13654)] [New Thread 0x4020c940 (LWP 13655)] [New Thread 0x40977940 (LWP 13656)] [New Thread 0x40440940 (LWP 13657)] [New Thread 0x41b0c940 (LWP 13658)] [New Thread 0x40764940 (LWP 13659)] [New Thread 0x412f0940 (LWP 13660)] [New Thread 0x41422940 (LWP 13661)] [New Thread 0x40156940 (LWP 13662)] [New Thread 0x41cd4940 (LWP 13663)] [New Thread 0x41065940 (LWP 13664)] [New Thread 0x4202a940 (LWP 13665)] [New Thread 0x40c67940 (LWP 13666)] [New Thread 0x41dc2940 (LWP 13667)] [New Thread 0x41734940 (LWP 13668)] [New Thread 0x407e5940 (LWP 13669)] [New Thread 0x41b8d940 (LWP 13670)] [New Thread 0x417b5940 (LWP 13671)] [New Thread 0x41c0e940 (LWP 13672)] [New Thread 0x406b1940 (LWP 13673)] [New Thread 0x41e43940 (LWP 13674)] [New Thread 0x41f4c940 (LWP 13675)] [New Thread 0x40a5d940 (LWP 13676)] [New Thread 0x40866940 (LWP 13677)] [New Thread 0x40ade940 (LWP 13678)] [New Thread 0x40b5f940 (LWP 13679)] [New Thread 0x408e7940 (LWP 13680)] [New Thread 0x41ec4940 (LWP 13681)] [New Thread 0x40622940 (LWP 13682)] [New Thread 0x4164d940 (LWP 13683)] Fetching 1024 authors starting at offset 0 [New Thread 0x42a2b940 (LWP 13685)] [Thread 0x42a2b940 (LWP 13685) exited] Fetching 1024 authors starting at offset 1024 Fetching 1024 authors starting at offset 2048 Fetching 1024 authors starting at offset 3072 Fetching 1024 authors starting at offset 4096 Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x4020c940 (LWP 13655)] 0x00002aaaac509a1d in cb_strip_key_prefix (bucket=0x2aaab4414300, key=46912654151960) at utils.c:471 471 rb_str_update(key, 0, RSTRING_LEN(bucket->key_prefix_val), cb_vStrEmpty); (gdb) where #0 0x00002aaaac509a1d in cb_strip_key_prefix (bucket=0x2aaab4414300, key=46912654151960) at utils.c:471 #1 0x00002aaaac50bd64 in cb_storage_callback (handle=<optimized out>, cookie=0x2aaab4415cf0, operation=LCB_SET, error=LCB_SUCCESS, resp=0x402099b0) at store.c:52 #2 0x00002aaaac72dfd4 in ?? () from /usr/lib64/libcouchbase.so.2 #3 0x00002aaaac72bb1a in ?? () from /usr/lib64/libcouchbase.so.2 #4 0x00002aaaac504c5c in callbacks_run (callbacks=<optimized out>) at multithread_plugin.c:600 #5 loop_run_select (argp=<optimized out>) at multithread_plugin.c:780 #6 0x00002b0ebc3e8657 in rb_ensure (b_proc=0x2aaaac504aa0 <loop_run_select>, data1=46912653493520, e_proc=0x2aaaac504f30 <loop_select_cleanup>, data2=46912654152000) at eval.c:743 #7 0x00002aaaac5039fc in loop_run (loop=<optimized out>) at multithread_plugin.c:1056 #8 lcb_io_run_event_loop (iops=<optimized out>) at multithread_plugin.c:1177 #9 0x00002aaaac736aaa in lcb_wait () from /usr/lib64/libcouchbase.so.2 #10 0x00002aaaac50c275 in cb_bucket_store (self=<optimized out>, argv=<optimized out>, argc=<optimized out>, cmd=<optimized out>) at store.c:162 #11 cb_bucket_set (argc=<optimized out>, argv=<optimized out>, self=<optimized out>) at store.c:270 #12 0x00002b0ebc4ed2a8 in vm_call_cfunc (me=<optimized out>, blockptr=<optimized out>, recv=<optimized out>, num=<optimized out>, reg_cfp=<optimized out>, th=<optimized out>) at vm_insnhelper.c:402 #13 vm_call_method (th=0x23a2dc0, cfp=0x2aaaad359a38, num=2, blockptr=0x1, flag=0, id=21448, me=0x20c7ae0, recv=33100200) at vm_insnhelper.c:528 #14 0x00002b0ebc4f00f3 in vm_exec_core (th=0x23a2dc0, initial=<optimized out>) at insns.def:1006 #15 0x00002b0ebc4f5889 in vm_exec (th=0x2aaab4414300) at vm.c:1147 #16 0x00002b0ebc4f9e19 in invoke_block_from_c (th=0x23a2dc0, block=0x329afe0, self=30791040, argc=1, argv=0x0, blockptr=0x0, cref=0x0) at vm.c:558 #17 0x00002b0ebc4fa2a7 in vm_yield (argv=<optimized out>, argc=<optimized out>, th=<optimized out>) at vm.c:588 #18 rb_yield_0 (argv=<optimized out>, argc=<optimized out>) at vm_eval.c:740 #19 rb_yield (val=42406680) at vm_eval.c:750 #20 0x00002b0ebc3b9c9c in rb_ary_each (ary=42907960) at array.c:1427 #21 0x00002b0ebc4ed2a8 in vm_call_cfunc (me=<optimized out>, blockptr=<optimized out>, recv=<optimized out>, num=<optimized out>, reg_cfp=<optimized out>, th=<optimized out>) at vm_insnhelper.c:402 #22 vm_call_method (th=0x23a2dc0, cfp=0x2aaaad359b40, num=0, blockptr=0x329afe1, flag=270, id=424, me=0x1ac7760, recv=42907960) at vm_insnhelper.c:528 #23 0x00002b0ebc4f00f3 in vm_exec_core (th=0x23a2dc0, initial=<optimized out>) at insns.def:1006 #24 0x00002b0ebc4f5889 in vm_exec (th=0x2aaab4414300) at vm.c:1147 #25 0x00002b0ebc4f9e19 in invoke_block_from_c (th=0x23a2dc0, block=0x24947d0, self=27728360, argc=1, argv=0x2aaaad25a0d0, blockptr=0x0, cref=0x0) at vm.c:558 #26 0x00002b0ebc4fa1ef in rb_vm_invoke_proc (th=0x23a2dc0, proc=0x24947d0, self=27728360, argc=1, argv=0x2aaaad25a0d0, blockptr=0x0) at vm.c:604 #27 0x00002b0ebc3f01bd in proc_call (argc=1, argv=0x2aaaad25a0d0, procval=<optimized out>) at proc.c:556 #28 0x00002b0ebc4ed2a8 in vm_call_cfunc (me=<optimized out>, blockptr=<optimized out>, recv=<optimized out>, num=<optimized out>, reg_cfp=<optimized out>, th=<optimized out>) at vm_insnhelper.c:402 #29 vm_call_method (th=0x23a2dc0, cfp=0x2aaaad359cf8, num=1, blockptr=0x1, flag=2, id=5912, me=0x1b0a800, recv=33098120) at vm_insnhelper.c:528 #30 0x00002b0ebc4f00f3 in vm_exec_core (th=0x23a2dc0, initial=<optimized out>) at insns.def:1006 #31 0x00002b0ebc4f5889 in vm_exec (th=0x2aaab4414300) at vm.c:1147 #32 0x00002b0ebc4f9e19 in invoke_block_from_c (th=0x23a2dc0, block=0x2aaaad359e28, self=33097800, argc=0, argv=0x0, blockptr=0x0, cref=0x0) at vm.c:558 #33 0x00002b0ebc4fa3f8 in vm_yield (argv=<optimized out>, argc=<optimized out>, th=<optimized out>) at vm.c:588 #34 rb_yield_0 (argv=<optimized out>, argc=<optimized out>) at vm_eval.c:740 #35 loop_i () at vm_eval.c:798 #36 0x00002b0ebc3e8a4c in rb_rescue2 (b_proc=0x2b0ebc4fa3c0 <loop_i>, data1=0, r_proc=0x0, data2=0) at eval.c:646 #37 0x00002b0ebc4e8d2e in rb_f_loop (self=33097800) at vm_eval.c:826 #38 0x00002b0ebc4ed2a8 in vm_call_cfunc (me=<optimized out>, blockptr=<optimized out>, recv=<optimized out>, num=<optimized out>, reg_cfp=<optimized out>, th=<optimized out>) at vm_insnhelper.c:402 #39 vm_call_method (th=0x23a2dc0, cfp=0x2aaaad359e00, num=0, blockptr=0x2aaaad359e29, flag=8, id=2856, me=0x1a9a1a0, recv=33097800) at vm_insnhelper.c:528 #40 0x00002b0ebc4f00f3 in vm_exec_core (th=0x23a2dc0, initial=<optimized out>) at insns.def:1006 #41 0x00002b0ebc4f5889 in vm_exec (th=0x2aaab4414300) at vm.c:1147 #42 0x00002b0ebc4f9e19 in invoke_block_from_c (th=0x23a2dc0, block=0x2aaaad359f30, self=33097800, argc=1, argv=0x0, blockptr=0x0, cref=0x0) at vm.c:558 #43 0x00002b0ebc4fa341 in rb_yield_0 (argv=<optimized out>, argc=<optimized out>) at vm.c:588 #44 catch_i (tag=2082830, data=<optimized out>) at vm_eval.c:1459 #45 0x00002b0ebc4e7943 in rb_catch_obj (tag=2082830, func=0x2b0ebc4fa300 <catch_i>, data=0) at vm_eval.c:1534 #46 0x00002b0ebc4e8bdd in rb_f_catch (argc=<optimized out>, argv=<optimized out>) at vm_eval.c:1510 #47 0x00002b0ebc4ed2a8 in vm_call_cfunc (me=<optimized out>, blockptr=<optimized out>, recv=<optimized out>, num=<optimized out>, reg_cfp=<optimized out>, th=<optimized out>) at vm_insnhelper.c:402 #48 vm_call_method (th=0x23a2dc0, cfp=0x2aaaad359f08, num=1, blockptr=0x2aaaad359f31, flag=8, id=2840, me=0x1a99e20, recv=33097800) at vm_insnhelper.c:528 #49 0x00002b0ebc4f00f3 in vm_exec_core (th=0x23a2dc0, initial=<optimized out>) at insns.def:1006 #50 0x00002b0ebc4f5889 in vm_exec (th=0x2aaab4414300) at vm.c:1147 #51 0x00002b0ebc4f9e19 in invoke_block_from_c (th=0x23a2dc0, block=0x23f5230, self=33097800, argc=0, argv=0x0, blockptr=0x0, cref=0x0) at vm.c:558 #52 0x00002b0ebc4fa1ef in rb_vm_invoke_proc (th=0x23a2dc0, proc=0x23f5230, self=33097800, argc=0, argv=0x224d2d0, blockptr=0x0) at vm.c:604 #53 0x00002b0ebc501bd2 in thread_start_func_2 (th=0x23a2dc0, stack_start=0x4020c128) at thread.c:450 #54 0x00002b0ebc501cef in thread_start_func_1 (th_ptr=<optimized out>) at thread_pthread.c:394 #55 0x0000003cb560677d in start_thread () from /lib64/libpthread.so.0 #56 0x0000003cb46d3c1d in clone () from /lib64/libc.so.6 #57 0x0000000000000000 in ?? () Note that this behavior can be recreated consistently. |
| Comments |
| Comment by Charles Leu [ 17/Jan/13 ] |
|
Notes and Questions:
1) Running my test single threaded does _not_ recreate this problem. 2) Running my test multi threaded yields this problem reliably (100% of the time so far). 3) To date I've only used/tested Couchbase via the Ruby client library. 4) How many other developers use the Ruby client library, and of those that use it, are their apps multi-threaded? 5) I noted that the tests for the Ruby client library didn't appear to have any that are multi-threaded. 6) Do any of your other client tests using threading, and attempt to perform set operations simultaneously? 7) Perhaps the 'Component" for this issue be changed to Ruby Client Library; please do so if you believe that is more correct. |
| Comment by Matt Ingenthron [ 17/Jan/13 ] |
| Valid questions Charles. Let me pass this to our Ruby client lead and have him look it over. We can move it to the RCBC project if it's in fact different. |
| Comment by Matt Ingenthron [ 17/Jan/13 ] |
| Sergey: Can you look at this to see if it should be moved to RCBC? |
| Comment by Charles Leu [ 17/Jan/13 ] |
|
I've learned that this particular issue is/was due to the sharing of the Couchbase connection amongst threads. When the test app uses thread-local storage to house/use a connection per thread, things work without ado.
Perhaps you want to put logic in place (e.g. a monitor per connection) to ensure connection sharing doesn't lead to a SEGV or other problem (e.g. deadlock). I guess the client could also implement such logic, however using thread-local storage with multiple connections is clearly a better option. Note that I'm fine with things as they are. However if the client lib had the aforementioned logic in place, it would have saved us some time (i.e. on both my end and yours). Thank you for your consideration and support. |
| Comment by Sergey Avseyev [ 22/Jan/13 ] |
|
Hi, Charles.
As you pointed out above, the libcouchbase handle itself isn't supposed to be shared between threads, and currently the caller should protect the connection instance either by copying it with Bucket#dup for each thread, which will lead to establishing new connection, or implementing thread-safe wrapper which will make sure that the handle won't be accessed from several threads. |
| Comment by Mike Evans [ 21/Mar/13 ] |
|
Interesting, just ran into this segfault in the Ruby client 1.2.2. I also have a multi-threaded app where each thread needs to do get and set operations against CB. I get that we shouldn't be sharing the handle between threads, and the Thread.current storage in 1.2.2 does fix this for connections initiated from the Couchbase module. The packaged CouchbaseStore ActiveSupport::Cache implementation however is not threadsafe in this regard--it creates one connection to the bucket and shares that across any threads, potentially resulting in the segfault. The fix is rudimentary, so look for a pull request shortly. |
| Comment by Sergey Avseyev [ 21/Mar/13 ] |
| Thanks, will be glad to review |
| Comment by Mike Evans [ 21/Mar/13 ] |
|
Just pushed: http://review.couchbase.org/#/c/25294/ I'm wondering if it wouldn't be helpful in some circumstances to have the option of an imposed mutex/monitor instead of a thread local variable in the Couchbase module itself. Thinking about my own app--dozens of Couchbase Models, each with their own Bucket connection--then potentially dozens of threads. Seems like that would be spinning up a lot of connections to the server per-process. |
| Comment by Sergey Avseyev [ 21/Mar/13 ] |
| Yeah, I'm planning to implement pooling there, to allow to re-use and share connections if it is possible, but once you will store docs in different buckets, it will require separate connection per bucket |
| Comment by Mike Evans [ 02/May/13 ] |
|
Pushed a Connection Pool branch for review: http://review.couchbase.org/#/c/26028/ which relies on: https://github.com/mperham/connection_pool It's mainly targeted at ActiveSupport::Cache::CouchbaseStore, however could be used more generically for any Couchbase bucket connections: @pool = Couchbase::ConnectionPool.new # => default connection args and 5 connections in the pool @pool.set('foo', 'bar') # => checks our a connection to run set on--will block until a connection is available @pool.get('foo') # => 'bar' I think I implemented all operations but might have missed some. |
| Comment by Sergey Avseyev [ 06/May/13 ] |
|
Merged to upstream
https://github.com/couchbase/couchbase-ruby-client/commit/5454381ca3aa7ee8a02e41e0d8ff87e8408504a2 |
[RCBC-121] misspelling in release notes for Ruby Created: 01/Mar/13 Updated: 06/May/13 Resolved: 06/May/13 |
|
| Status: | Resolved |
| Project: | Couchbase Ruby client library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | New Feature | Priority: | Major |
| Reporter: | Matt Ingenthron | Assignee: | Sergey Avseyev |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Should be February:
http://www.couchbase.com/docs/couchbase-sdk-ruby-1.2/couchbase-sdk-ruby-rn_1-2-2.html Is it possible to review RN for correctness/accuracy before merging more generally? |
| Comments |
| Comment by Sergey Avseyev [ 06/May/13 ] |
| https://github.com/avsej/docs/commit/891df66e1b1c9db9d773e44d4458c3a0472f9fb9#L0L65 |
[RCBC-68] views seem to be killing the connection when using Created: 07/Aug/12 Updated: 06/May/13 Resolved: 06/May/13 |
|
| Status: | Resolved |
| Project: | Couchbase Ruby client library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Matt Ingenthron | Assignee: | Sergey Avseyev |
| Resolution: | Cannot Reproduce | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
A user reports that they find the connection getting dropped when trying to use views. See
http://www.couchbase.com/forums/thread/ruby-sdk-12-problem-views |
[RCBC-107] Dupe test name hiding failing test. Created: 28/Dec/12 Updated: 06/May/13 Resolved: 06/May/13 |
|
| Status: | Resolved |
| Project: | Couchbase Ruby client library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Minor |
| 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 |
|
There's two versions of test_it_raises_not_found_exception, one intended for Model#find, and the other for Model#find_by_id. It's hiding a mismatched expected exception for find with a bad id. Pull request:
http://github.com/couchbase/couchbase-ruby-model/pull/3 Sorry for the additional commits in the pull request, I should have rebased first or something... |
[RCBC-119] Error handling documentation Created: 05/Feb/13 Updated: 11/Feb/13 |
|
| Status: | Reopened |
| Project: | Couchbase Ruby client library |
| Component/s: | docs |
| Affects Version/s: | 1.2.1 |
| Fix Version/s: | 1.3.0 |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Perry Krug | Assignee: | Sergey Avseyev |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Please create some documentation specifying possible error/failures to operations, what they "look" like in the logs/exceptions/stack traces and what our recommendation is on how to handle them.
i.e. tmp_oom, timeouts (connection/operation/java-internal/etc), "get miss" (it's technically a failure, let's make it overly obvious what it means), CAS failure, add() failure, replace() failure, Some of this should be covered in the API reference, but this bug is specifically for a single page where this information is aggregated that a customer/user could read about how to handle errors. |
[RCBC-127] Final Review 1.3 core documentation Created: 06/May/13 Updated: 15/May/13 |
|
| Status: | In Progress |
| Project: | Couchbase Ruby client library |
| Component/s: | docs |
| Affects Version/s: | 1.3.0 |
| Fix Version/s: | 1.3.0 |
| Security Level: | Public |
| Type: | New Feature | Priority: | Minor |
| Reporter: | Matt Ingenthron | Assignee: | Karen Zeller |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | info-request | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
We need a new section in the documentation for the upcoming 1.3.0 release. This should:
- Copy the 1.2 manual - Remove section 3-9, and instead link to the autodocs for the 1.3.0 client - Rename section 10 (now section 3) to "Common Patterns" After this is complete, please pass the ticket to Sergey who will write for review: - Small section on response handling (tmpfail, bulk loading, timeouts) - small section on event machine (motivation, where it is, how to get more info) - small section on transcoders (motivation, where it is, how to use it, how to get more info) I know this is a bit last minute, so we've tried to keep this scope as small as possible and still effective. Our goal would be to have everything done for publishing by EOD on 7th of May. Sorry for the last minute notification. It only became clear in the last few days that this should be a 1.3 release given the new functionality. |
| Comments |
| Comment by Karen Zeller [ 06/May/13 ] |
|
Note to Matt and Sergey: The part you need from me is partially doable in the next hours: We need a new section in the documentation for the upcoming 1.3.0 release. This should: - Copy the 1.2 manual - Remove section 3-9, ….. - Rename section 10 (now section 3) to "Common Patterns" Getting this out depends on how quickly Sergey can assemble the raw information/knowledge in the new files. The other part is if the 1.3 gem ready to run the Rdoc build on ubu-1702. Is it ready now for Rdocs? In order to copyedit them and get my edits in as well as the Rdoc up EOD tomorrow, I will probably need both the code ready and the raw content ready by 2 PM PST tomorrow. I will assign the ticket to Sergey as soon as the 1.3 files are set up in the next hour. Regards, Karen |
| Comment by Karen Zeller [ 06/May/13 ] |
|
-Creating new files for 1.3 -Updating link to new Rdoc 1.3 from nav -Add Ruby 1.3 to LibrarySpec.pm to publish |
| Comment by Karen Zeller [ 06/May/13 ] |
|
Assigning to Sergey to add content to new files in sections described.
Sergey, the 1.3 XML chapters are in: docs/Couchbase/products/couchbase/couchbase-sdk-ruby-1.3 Let me know when you have added all your raw content as XML for each of the section. I will copyedit them/reorganize, request information from you if needed and the publish. |
| Comment by Sergey Avseyev [ 07/May/13 ] |
| Thank you Karen, I've just uploaded to review site two new code examples, which I'm going to use in new documentation sections: http://review.couchbase.org/26153 |
| Comment by Karen Zeller [ 07/May/13 ] |
|
And don't worry about organizing this clearly for now, just get the raw information and knowledge you have into XML paragraphs and lists. |
| Comment by Sergey Avseyev [ 07/May/13 ] |
|
EventMachine section: https://github.com/couchbase/docs/pull/211 Transcoders section (depends on previous one, because it is modifying the same file): https://github.com/couchbase/docs/pull/212 |
| Comment by Karen Zeller [ 07/May/13 ] |
|
HI Sergey,
So I edited and overhauled your new content and committed it to Github. Do you guys have a list of standard reviewers I should send this to? Also, there were some areas that were unclear: -For Data Transcoders you say these transcoders can be chosen using the current format API, therefore the patch won't break anything. I believe this means that this is compatible with earlier versions of the Ruby SDK. Correct> -:forced passes the transcoder explicitly. I believe that means that the operations will transcode automatically, please confirm.... -EventMachine. You say that the Ruby client comes with additional engines. But I think this really means it comes with two engines: a default which is Ruby-thread-friendly , and the one which extends EventMachine -Final note: where are any release notes? Changed status to minor as going into reviews then publish soon.... |
| Comment by Matt Ingenthron [ 07/May/13 ] |
|
Thanks for the quick turnaround on this Karen! Again apologies for the scramble. For ruby, we do not have a current list of standard reviewers. I might recommend myself and James Mauss (he's a Ruby guy to some degree). |
| Comment by Karen Zeller [ 08/May/13 ] |
| Karen: run the Rdoc for 1.3. |
| Comment by Sergey Avseyev [ 08/May/13 ] |
| I've attached zip archive to announcement email |
| Comment by Karen Zeller [ 08/May/13 ] |
| Ok, uploaded and linked: http://www.couchbase.com/autodocs/ |
[RCBC-120] Docs: Reference installation Created: 11/Feb/13 Updated: 11/Feb/13 |
|
| Status: | Open |
| Project: | Couchbase Ruby client library |
| Component/s: | docs |
| Affects Version/s: | 1.2.1 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Perry Krug | Assignee: | Sergey Avseyev |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Customers have lots of choices at their fingertips, and many of those choices will result in a non-functioning installation, or at least a lot of time spent figuring out what the right pieces are.
Can we please provide as much details as possible about a reference installation that we can be sure will work for a customer who is just getting started? This is outside of our support for any one operatin system, but more about telling the customer "if you install with these versions and packages, this code will work" -OS -"language" version (Ruby 1.9.3, etc) -other packages/modules required and/or tested with |
[RCBC-117] Write the getting started with Ruby on Linux section of the essential guide Created: 04/Feb/13 Updated: 04/Feb/13 |
|
| Status: | Open |
| Project: | Couchbase Ruby client library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Task | Priority: | Major |
| Reporter: | MC Brown | Assignee: | Sergey Avseyev |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Write the Getting started with Ruby on Linux (Redhat and Debian) section of the Essentials Guide
Needs to cover: Installation of the Ruby gem/components and pre-requisites Writing your first (small) app using Couchbase and Ruby Submissions should be to MC, either through the couchbase/docs repo, or direct to MC in whatever format suits. Must include both the text and images. |
[RCBC-116] Write the Getting Started with Ruby on Mac OS X section of the essentials guide Created: 04/Feb/13 Updated: 04/Feb/13 |
|
| Status: | Open |
| Project: | Couchbase Ruby client library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Task | Priority: | Major |
| Reporter: | MC Brown | Assignee: | Jasdeep Jaitla |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Write the Getting started with Ruby on Mac OS X section of the Essentials Guide
Needs to cover: Installation of the Ruby gem/components and pre-requisites Writing your first (small) app using Couchbase and Ruby Submissions should be to MC, either through the couchbase/docs repo, or direct to MC in whatever format suits. Must include both the text and images. |
[RCBC-115] Writ the GettingStarted with Ruby section of the essentials guides Created: 04/Feb/13 Updated: 04/Feb/13 |
|
| Status: | Open |
| Project: | Couchbase Ruby client library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Task | Priority: | Major |
| Reporter: | MC Brown | Assignee: | John Zablocki |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Write the Getting started with Ruby on Windows section of the Essentials Guide
Needs to cover: Installation of the Ruby gem/components and pre-requisites Writing your first (small) app using Couchbase and Ruby Submissions should be to MC, either through the couchbase/docs repo, or direct to MC in whatever format suits. Must include both the text and images. |
[RCBC-93] Ruby Client does not handle the timeout appropriately Created: 24/Oct/12 Updated: 15/Nov/12 |
|
| Status: | Open |
| Project: | Couchbase Ruby client library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Bala Keelapudi | Assignee: | Sergey Avseyev |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: | Ruby client 1.1.1 | ||
| Attachments: |
|
| Description |
|
This is the problem that the customer is encountering
(Ruby code coming up): Timeout::timeout(2) do couch_client.get(key) end But we are seeing Couchbase::Error::Timeout exceptions being raised. I know the default timeout for the Couchbase client gem is greater than 2 seconds, so I'm wondering: what could cause Couchbase to return a timeout (0x16 error code) before it actually has time to timeout? The complete ruby source code is attached , Please take a look at it. ------ support's analysis: The client is not timing out fast enough it should time out in 2.5 sec or something but instead it's waiting a long time. |
[RCBC-78] Need Alternative to Event Loop Created: 27/Aug/12 Updated: 28/Aug/12 |
|
| Status: | Open |
| Project: | Couchbase Ruby client library |
| Component/s: | library |
| Affects Version/s: | 1.0.0, 1.1.0, 1.2.0.z.beta |
| Fix Version/s: | 2.0.0 |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Karen Zeller | Assignee: | Sergey Avseyev |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Production Management (DiptiP), and Customer Support team request that we provide an alternative to the event loop for asynchronous operations, which takes a function/callback as a parameter in the method signature and has an explicit return.
|
| Comments |
| Comment by Matt Ingenthron [ 28/Aug/12 ] |
|
In the future, it'd be good for Product Management(sic) to talk with product management: me. :)
This is not something planned in the short term. Moving to 2.0. |
[RCBC-75] Provide Consistent Order of Parameters Created: 24/Aug/12 Updated: 02/Jan/13 |
|
| Status: | Open |
| Project: | Couchbase Ruby client library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 2.0.0 |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Karen Zeller | Assignee: | Matt Ingenthron |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Provide consistent, predictable order for method parameters as other SDKS.
|
| Comments |
| Comment by Sergey Avseyev [ 24/Aug/12 ] |
| Could you extend your query please with examples? Where the API is inconsistent and unpredictable? |
| Comment by Karen Zeller [ 27/Aug/12 ] |
|
Here is the first example. This may require a fix on the Java side vs. the Ruby side:
http://www.couchbase.com/docs/couchbase-sdk-java-1.0/couchbase-sdk-java-set-add.html#table-couchbase-sdk_java_add Order is key, expiry, then value Should be one fairly consistent order across the SDKs. Will add others as either I or others (customer support) run across them. |
| Comment by Karen Zeller [ 27/Aug/12 ] |
| I have reassigned this to Matt so this can be looked at globally post 2.0, and hopefully approached across the SDKs. This is a repeated request I am getting from customer support. |
[RCBC-73] Provide Consistent Timeouts Created: 24/Aug/12 Updated: 24/Aug/12 |
|
| Status: | Open |
| 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: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Provides the consistent level of time outs with other SDKs. Provide ability to set timeouts at: 1) connection, 2) authentication, and 3) ops level.
|
[RCBC-72] Need Consistent Error Handling Created: 24/Aug/12 Updated: 24/Aug/12 |
|
| Status: | Open |
| 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: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Need error handling more consistent with other SDKs (error messages) and more consistent with underlying memcached protocol.
|
[RCBC-61] Allow response aggregation for multi-keyed operations in asynchronous mode Created: 19/Jul/12 Updated: 19/Jul/12 |
|
| Status: | Open |
| 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: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Mult-keyed operations behaves a bit different in async mode, they are yielding responses as far as they received. This is good, but it would be nice to have switch to force library to aggregate all of them.
Example: Couchbase.bucket.run do |c| c.get("foo", "bar", "baz", :aggregate => true) do |results| results.each do |res| # ... end end end |
[RCBC-55] Update the getting started to match the Beer sample DB Created: 12/Jul/12 Updated: 12/Jul/12 |
|
| Status: | Open |
| 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: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Once the sample DB has been integrated into the server, update the getting started (both on the web page and in the documentation) to use the sample database.
|
[RCBC-56] Updated screencast for /develop pages Created: 12/Jul/12 Updated: 12/Jul/12 |
|
| Status: | Open |
| 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: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Create an updated screencast to ship with the new 2.0 developer SDKs
|
[RCBC-41] Integrate log4r and log interesting events for issue investigation Created: 22/Jun/12 Updated: 08/Feb/13 |
|
| Status: | Open |
| 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: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||
[RCBC-103] Improvements to the Getting Started Guide and the Tutorial Created: 20/Dec/12 Updated: 02/May/13 |
|
| Status: | Open |
| Project: | Couchbase Ruby client library |
| Component/s: | docs |
| Affects Version/s: | 1.2.0 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Michael Nitschinger | Assignee: | Sergey Avseyev |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Ruby Docs
*** Getting Started *** http://www.couchbase.com/docs/couchbase-sdk-ruby-1.2/installing_the_couchbase_client_libraries.html - link broken: ... is libcouchbase. Please consult [C Client Library page about w ... http://www.couchbase.com/docs/couchbase-sdk-ruby-1.2/hello_couchbase.html - In the list where the conn params are explained, maybe explain why I need to ouse the list param when I have more then one node (where I have to use host?)? Its not really obvious why I have two different args for the same type. - Maybe add a quick sentence what marhsal does? Serialzining ruby objects? Note that you cant use views with it. http://www.couchbase.com/docs/couchbase-sdk-ruby-1.2/creating_and_updating_documents.html - here it talks about the :plain mode and I'm confused, whats the different to :marshal? Maybe good to explain in a sentence. http://www.couchbase.com/docs/couchbase-sdk-ruby-1.2/reading_documents.html - Where basic view querying is explained, I think we need to add a sentence or two on how a second HTTP request is maed when you access the design document. Since you ask an array here, is it prefetched? how does it work? Would be good to know so that people dont use it in a loop for example. *** Tutorial ** http://www.couchbase.com/docs/couchbase-sdk-ruby-1.2/_tl_dr.html - I think you need to tell people how to install bundler? I have it, but I'm not sure if it comes by default? If it is always there forget this comment :) - Sign in with twitter gives me 401 unauthorized.. do we really need this and is it supposed to work? Otherwise the sample app works out of the box, cool work. http://www.couchbase.com/docs/couchbase-sdk-ruby-1.2/_create_application_skeleton.html - Can you explain the --old-style-hash in a sentence? Dont know what it is? - The short gem description only contains omniauth-twitter, but the full also omniauth? - maybe mention to update the dependencies after the changes? bundle update? http://www.couchbase.com/docs/couchbase-sdk-ruby-1.2/_implement_controllers.html - Where you explain the controller functionality: it's not really obvios how the methods map to the views. What will happen when you access a different method that has no view defined? Just a few words to explain how the "magical" vie access works would be good I think. http://www.couchbase.com/docs/couchbase-sdk-ruby-1.2/_bonus_spatial_queries_sessions_and_cache.html - On caching: will it use the same couchbase client connection or instantiate a new one? Otherwise good job! :) |
[RCBC-66] Ruby Gem 1.1.2/1.1.3 not responding to :node_list param in Couchbase.new||Couchbase.connect Created: 30/Jul/12 Updated: 02/May/13 |
|
| Status: | Open |
| Project: | Couchbase Ruby client library |
| Component/s: | docs, library |
| Affects Version/s: | 1.1.2 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Jasdeep Jaitla | Assignee: | Sergey Avseyev |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: | I tried it on Amazon Linux with a cluster of two Couchbase 2.0 build 1495's specifying gem versions. | ||
| Description |
|
:node_list syntax returning:
Connection failed: Connection refused (error=0x17) (Couchbase::Error::Connect) Direct connection to each node works fine. It also works fine in 1.2.0dp6. See thread for more info: http://www.couchbase.com/forums/thread/ruby-client-connection-refused-using-nodelist I confirmed it wasn't working. |
| Comments |
| Comment by Jasdeep Jaitla [ 30/Jul/12 ] |
| I tried it in both 1.1.2 and 1.1.3, neither worked. Like I said, it does work in 1.2.0dp6 latest release. Of course I also have a newer libcouchbase (the one required for dp6 of gem). |
| Comment by Sergey Avseyev [ 31/Jul/12 ] |
| I thought its kind of feature, not a bug therefore shouldn't be merged into stable branch. there is workaround although. User could create array of hosts and shift and try host checking for connect error |
| Comment by Jasdeep Jaitla [ 01/Aug/12 ] |
| Ah, true, I think what is confusing is the docs on github show the syntax but it only works in dp gem... maybe just make a quick note about that? |
| Comment by Sergey Avseyev [ 02/Aug/12 ] |
| Could you put the link? |
[RCBC-122] Option to enable configuration cache on libcouchbase Created: 07/Mar/13 Updated: 06/May/13 |
|
| Status: | Open |
| 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: | Matt Ingenthron |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
[RCBC-105] Docs: What operating system versions does the ruby gem support? Created: 20/Dec/12 Updated: 06/May/13 |
|
| Status: | Open |
| Project: | Couchbase Ruby client library |
| Component/s: | docs |
| Affects Version/s: | 1.2.0 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Perry Krug | Assignee: | Sergey Avseyev |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
I seem to be having problems installing this on CentOS 5.8. I'm not sure if that's the problem, but I tried to verify it via our documentation and couldn't find what versions were supported or not.
|
| Comments |
| Comment by Sergey Avseyev [ 06/May/13 ] |
|
couchbase ruby gem depends on ruby 1.8.7+ and libcouchbase (if there are issues with libcouchbase, please report to CCBC) According to official ruby site ruby 1.9.3 is supported by centos 5 (probably not from official repository, but should work without any problems): https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/SupportedPlatforms#Ruby-193 |
| Comment by Karen Zeller [ 06/May/13 ] |
| Please add this information to the correct part of the documentation set for Ruby. |
[RCBC-54] Add a unit/integration test validation of OBSERVE + view stale=false Created: 12/Jul/12 Updated: 08/May/13 |
|
| Status: | Open |
| 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: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Ensure that when a synchronous set is used with the new low-level observe, the index is fully updated when querying with view=false.
|
[RCBC-21] automatically backoff on TMP_OOM Created: 22/Jan/12 Updated: 08/May/13 |
|
| Status: | Open |
| 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: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
When a server's memory is full it may start sending TMP_OOM errors to clients, which should be used by the client to temporarily back off (exponential backoff). This helps in bulk load situations where maybe many clients are loading data to a server which is also trying to flush to disk.
|
| Comments |
| Comment by Matt Ingenthron [ 22/Jan/12 ] |
| libcouchbase may handle this already. If so, simply close this issue. |
| Comment by Matt Ingenthron [ 08/May/13 ] |
| Note we may want this to be optional behavior. |
[RCBC-128] Ruby 1.3.0 is missing release notes Created: 08/May/13 Updated: 14/May/13 |
|
| Status: | Open |
| Project: | Couchbase Ruby client library |
| Component/s: | docs |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Matt Ingenthron | Assignee: | Mark Nunberg |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | info-request | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
It may have been an artifact of the order in which docs were integrated, but I don't see release notes in the right place in the current document.
http://www.couchbase.com/docs/couchbase-sdk-ruby-1.3/couchbase-sdk-ruby-rn.html |
| Comments |
| Comment by Karen Zeller [ 09/May/13 ] |
|
Hi,
So I investigated this last night and discovered all the XML and content are intact and valid for this entire document. When I generate PDF the content is missing as well as when the XML to HTML conversion happens. I think this is something to do with the Perl parser that does our conversions expecting some setting. Can you please get someone familiar with Perl to look at this conversion script? Thanks, Karen |
| Comment by Wayne Siu [ 09/May/13 ] |
| Matt, can you or someone on your team help? Thanks. |
| Comment by Matt Ingenthron [ 13/May/13 ] |
| Mark: I know you haven't been in here before, but can you possibly work with Wayne/Karen to help us out to try to fix this? There's some scripting forensics required. |
| Comment by Mark Nunberg [ 13/May/13 ] |
| If you can show me the toolchain or give me access to a remote machine (probably the best) where this toolchain is installed, I could help dig into the issue. |
| Comment by Karen Zeller [ 14/May/13 ] |
|
Here is the toolchain information:
======= This is the info you wanted for RCBC-128 on the Toolchain for publishing. I set up 1.3 guides and they generate as PDF and HTML but somehow the release notes are not being pulled in during conversion. There are no failure messages on the server or on my local machine when the build runs, and the XML is clean. You basically just get a blank page in PDF and HTML for the release notes. The new ruby guide is here, set up according to what Matt/Sergey agreed on content: https://github.com/couchbase/docs/tree/master/Couchbase/products/couchbase/couchbase-sdk-ruby-1.3 For the release notes, there is XML typically in every guide that seems to serve as an include statement here: https://github.com/couchbase/docs/blob/master/Couchbase/products/couchbase/couchbase-sdk-ruby-1.3/releasenotes-metasrc.xml The XML=>HTML conversion runs here: ssh jenkins@ubu-1701.hq.couchbase.com, you can use Qakey.pem to access it In ~/docs we recreated a shell script that will Git pull the current docs repo Then it will do a make publish-push to trigger the XML=>HTML conversion This make task runs a bunch of Perl scripts that do the conversion as well as includes. I believe all the Perl scripts called by make are under the Publish Then the make task syncs the new HTML with our web server. Let me know if you need the key for access to this machine, but you should have it as it is the QA key for jenkins. Regards, Karen |
[RCBC-109] Add Observe-methods into Rdoc TOC Created: 10/Jan/13 Updated: 11/Jan/13 |
|
| Status: | Open |
| Project: | Couchbase Ruby client library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Improvement | Priority: | Minor |
| Reporter: | Karen Zeller | Assignee: | Sergey Avseyev |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Hi Sergey,
Can you add an item in the top-level RDoc table of content for the observe-methods in Ruby? A customer just asked about it in Rdoc. In general, the Rdoc is great language reference resource for the SDK, but this item that is hard to find from the first Rdoc page: http://www.couchbase.com/autodocs/couchbase-ruby-client-1.2.0/Couchbase/Bucket.html#observe_and_wait-instance_method Thanks, Karen |
| Comments |
| Comment by Sergey Avseyev [ 11/Jan/13 ] |
| Do you mean into README file which is rendering when you will navigate to http://www.couchbase.com/autodocs/couchbase-ruby-client-1.2.0? |
| Comment by Karen Zeller [ 11/Jan/13 ] |
| What I mean is that "USAGE" navigation box where you can see a list of all the major areas. It would be good to have an "observe" item in that list where you have get, etc.... |
[RCBC-65] Accept only allowed options for the methods Created: 27/Jul/12 Updated: 19/Oct/12 |
|
| Status: | Open |
| Project: | Couchbase Ruby client library |
| Component/s: | library |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Improvement | Priority: | Minor |
| Reporter: | Sergey Avseyev | Assignee: | Sergey Avseyev |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
It might be good to complain using ArgumentError on unsupported or invalid keys in options parameter for ruby API. Currently it is possible to pass any Hash as options and the library will silently pick only documented options ignoring all others. This could lead to some confusion (see |
[RCBC-114] Code sample of Get and Lock in Ruby Created: 28/Jan/13 Updated: 06/May/13 |
|
| Status: | Open |
| Project: | Couchbase Ruby client library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | New Feature | Priority: | Minor |
| Reporter: | Karen Zeller | Assignee: | Sergey Avseyev |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
One of our users asked for a code example demonstrating Get and Lock in Ruby for the Developer Guide.
|
| Comments |
| Comment by Sergey Avseyev [ 06/May/13 ] |
|
There are examples of get with lock usage in our test suite: https://github.com/couchbase/couchbase-ruby-client/blob/master/test/test_get.rb#L349-L397 Generally it is pretty straightforward, just pass ':lock => true' or with number like ':lock => 14' to the Couchbase::Bucket#get method, and expect that key will be locked on default interval (set by the server) or user defined (14 in this case) |
| Comment by Karen Zeller [ 06/May/13 ] |
|
Hi,
We will get the same feedback if we use this as an example as we tried with PHP. PHP also only had assertions from TDD, Unit-testing and we were told customers need an actually application-level usage (how to use within a sample application, not a test suite for the SDK). You should hold this ticket until someone in the team is able to demonstrate GETL in Ruby within a sample application or a code snippet within an application. Regards, Karen |