Prevent attachment upload from timing out during update_docs fabric call

Currently if an attachment was large enough or the connection was slow enough
such that it took more than fabric.request_timeout = 60000 milliseconds, the
fabric request would time out during attachment data transfer from coordinator
node to other nodes and the whole request would fail.

This was most evident when replicating database with large attachments.

The fix is to periodically send `attachment_chunk_received` to coordinator to
prevent the timeout.

1 file changed
tree: 9bfbaf05495fbed4f24bdc8b2550f1bb52209e06
  1. include/
  2. priv/
  3. src/
  4. .travis.yml
  7. rebar.config


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.

Getting Started

Fabric requires R13B03 or higher and can be built with rebar.


Apache 2.0