[RCBC-169] ConnectionDescriptor::_WriteOutboundData(): Assertion `nbytes > 0' failed. Created: 31/Mar/14  Updated: 31/Mar/14

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

Type: Bug Priority: Critical
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   
ruby: ed.cpp:1025: void ConnectionDescriptor::_WriteOutboundData(): Assertion `nbytes > 0' failed.

Worth noticing that error happens while couchbase had rebalance.




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

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

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


 Description   
Edit and publish guide and autodocs.




[RCBC-138] Expose lcb_cntl(..., LCB_CNTL_SKIP_CONFIGURATION_ERRORS_ON_CONNECT, ..) to ruby Created: 21/Aug/13  Updated: 21/Aug/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: 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:
Dependency
depends on CCBC-192 Failure to handle host that has been ... Resolved




Final Review 1.3 core documentation (RCBC-127)

[RCBC-130] Complete Review of Ruby 1.3 Created: 24/May/13  Updated: 13/Jan/14

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

Type: Technical task Priority: Major
Reporter: Anonymous Assignee: Matt Ingenthron
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Sent 5/8/2013:

Hi,

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

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


Regards,

Karen

 Comments   
Comment by Sergey Avseyev [ 13/Jan/14 ]
Should we close this ticket?




[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:
Duplicate
is duplicated by RCBC-126 support libcouchbase configuration cache Closed




[RCBC-103] Improvements to the Getting Started Guide and the Tutorial Created: 20/Dec/12  Updated: 13/Jan/14

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: Amy Kurtzman
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! :)

 Comments   
Comment by Sergey Avseyev [ 13/Jan/14 ]
This is notes for older version of the docs. Could you check if any of those relevant? And open separate issues if needed. Thanks




[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: Anonymous 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: Anonymous 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-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:
Duplicate
is duplicated by RCBC-74 Provide Standardized Logging Closed
is duplicated by RCBC-108 Add Couchbase operation logging Closed




[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-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-56] Updated screencast for /develop pages Created: 12/Jul/12  Updated: 14/Jan/14

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: Matt Ingenthron
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-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-164] add discussion of timeout accuracy and implementation Created: 27/Feb/14  Updated: 27/Feb/14

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

Issue Links:
Dependency
depends on CCBC-338 add discussion of timeout accuracy an... Resolved

 Description   
Since our timeouts are only as accurate as the underlying APIs/subsystems we use, we should document this for our users so they can plan accordingly. For instance, if processes aren't scheduled for a long period of time owing to CPU or memory contention... or in some cases IO doesn't happen for a long time and our timeout is IO event driven, we may not timeout to the application until later.





[RCBC-170] Incorrect error raised when using node_list: property Created: 11/Apr/14  Updated: 11/Apr/14

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

Type: Task 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


 Description   
If you use the node_list property and try to connect to a cluster for a bucket that doesn't exist, you get:
Couchbase::Error::Timeout instead of Couchbase::Error::BucketNotFound

This can mess up scripts that rescue the BucketNotFound and create the bucket if it's not there. Timeout implies other problems (connectivity problems) which isn't the case.

gems/ruby-2.1.0/gems/couchbase-1.3.6/lib/couchbase.rb:63:in `initialize': No more bootstrap providers remain (error=0x17) (Couchbase::Error::Timeout)


 Comments   
Comment by Jasdeep Jaitla [ 11/Apr/14 ]
I tried it by connecting to a 2-node cluster and it was a script that creates a bucket if it doesn't exist, I had a rescue statement for BucketNotFound but not Timeout....




[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: Anonymous 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 kzeller [ 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





[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: Anonymous 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 kzeller [ 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-47) when people will use deprecated options or invalid key types (only symbols allowed)




Generated at Thu Apr 17 11:06:24 CDT 2014 using JIRA 5.2.4#845-sha1:c9f4cc41abe72fb236945343a1f485c2c844dac9.