Call fabric view reduce callback with meta information

This is a temporary hack to allow passing meta through
fabric_view_reduce:handle_message. The meta rows were not present on
reduce functions in the previous views implementation, but they
provide an excellent place to determine which a view is about to start
streaming, which is essential for the multi query view implementation.

The hack is that we don't do the proper row collection worker dance
like we do in the handle_message callback for #view_row. For now this
sets a process dict flag to indicate meta has been sent so that we
only send it once. The proper fix is to send meta through
fabric_view:maybe_send_row, but that gets ugly in a hurry and can be
addressed separately.

2 files changed
tree: bf5c869a987a0cf12a64c8f4d590291727a404ca
  1. include/
  2. src/


Fabric is a collection of proxy functions for CouchDB operations in a cluster. These functions are used in BigCouch as the remote procedure endpoints on each of the cluster nodes.

For example, creating a database is a straightforward task in standalone CouchDB, but for BigCouch, 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 BigCouch.

Getting Started

Fabric requires R13B03 or higher and can be built with rebar, which comes bundled in the repository.


Apache 2.0