Details
-
Bug
-
Resolution: Won't Fix
-
Critical
-
None
-
None
Description
With the initial 2.0 release, the initial understood contract between the client library and the cluster is that the client library would send requests and the cluster would handle execution of those requests and sending responses. Over the development of the 2.0 series, to handle certain cases relating to new nodes, leaving nodes, and failures that contract has changed.
At this point in time, there are a few situations we may encounter (and presumed rules):
- 200 response (good, just pass results back)
- 301/302 response (follow the "redirect", possibly trigger a configuration update)
- 404 response (possibly retry on another node... see derived rules)
- 5xx response (possibly retry on another node with a backoff... see derived rules)
See the discussion in MB-9915 where a 500 has been encountered and rules which have been derived in Java:
https://github.com/couchbase/couchbase-java-client/blob/master/src/main/java/com/couchbase/client/http/HttpResponseCallback.java#L144
This bug is to document the set of rules for clients, which should become part of this doc:
http://docs.couchbase.com/couchbase-manual-2.5/cb-admin/#querying-using-the-rest-api
Attachments
Issue Links
- relates to
-
MB-9915 capi layer is not sending view request redirects if bucket does not exist on node handling view request (was: [system test] query returns "HTTP Error 500: Internal Server Error")
- Resolved