commit | aeac2dfe5014dc9fe1f10300669ea9244cae3a67 | [log] [tgz] |
---|---|---|
author | Russell Branca <chewbranca@gmail.com> | Thu Mar 27 15:48:16 2014 -0700 |
committer | Russell Branca <chewbranca@gmail.com> | Fri Mar 28 11:33:19 2014 -0700 |
tree | bf5c869a987a0cf12a64c8f4d590291727a404ca | |
parent | efddaf1d14b19187f31a2c5c19a40061b3635e9a [diff] |
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. COUCHDB-523 COUCHDB-1993
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.
Fabric requires R13B03 or higher and can be built with rebar, which comes bundled in the repository.