commit | 31be5324023771fa80bfe8a28a31f6592cb28af0 | [log] [tgz] |
---|---|---|
author | Mike Wallace <mikewallace@apache.org> | Tue Feb 09 14:31:55 2016 +0000 |
committer | Mike Wallace <mikewallace@apache.org> | Wed Feb 10 11:59:23 2016 +0000 |
tree | 4b2710221f40a33efa3f8a11ec41f581c68cc39c | |
parent | d67049cca5bba6fbe484f3b55356d238ab44515b [diff] |
Return forbidden error if encountered on any shard This commit fixes an issue which caused HTTP 500 errors to be returned when an authorized user attempted to access a database that they did not have permission to access, when cassim is disabled. Instead of returning an internal server error once all shards have failed to open we add a receive clause so that we throw a forbidden error if one is encountered on any shard. This is the same approach we already take for unauthorized errors. Closes COUCHDB-2948 This closes #38
Fabric is a collection of proxy functions for CouchDB operations in a cluster. These functions are used in CouchDB as the remote procedure endpoints on each of the cluster nodes.
For example, creating a database is a straightforward task in CouchDB 1.x, but for a clustered CouchDB, each node that will store a shard for the database needs to receive and execute a fabric function. The node handling the request also needs to compile the results from each of the nodes and respond accordingly to the client.
Fabric is used in conjunction with ‘Rexi’ which is also an application within CouchDB.
Fabric requires R13B03 or higher and can be built with rebar.