[RCBC-165] Publish docs for Ruby SDK April 2014 release Created: 27/Feb/14  Updated: 18/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-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-167] Add couchbase cluster compatibility to documentation Created: 25/Mar/14  Updated: 25/Mar/14

Status: Open
Project: Couchbase Ruby client library
Component/s: docs
Affects Version/s: None
Fix Version/s: 1.3.7
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:
Gantt: finish-start
has to be done after JCBC-438 Add table for 1.8, 2.x and 3.x compat... Open

 Description   
We should probably specify for this given major.minor of the SDK, one of three things for Couchbase Cluster releases:
- unsupported
- supported
- supports all features

These might be an 'x', '—' and "✓" in a table, or whatever Amy comes up with.

This is, in part, planning for 3.0 including beta.

This should be based on the work done in JCBC-438, so it's blocked by that issue.




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




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




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




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




Generated at Sun Apr 20 01:01:42 CDT 2014 using JIRA 5.2.4#845-sha1:c9f4cc41abe72fb236945343a1f485c2c844dac9.