Skip to content
Router and rereducer for sharded CouchDB
Erlang Other
Find file
Failed to load latest commit information.
src Modified include paths to work with the new directory structure
INSTALL.Unix Added information about running bootstrap
bootstrap More rework to autoconf/automake. Webmachine and ibrowse need full co…


Pillow is a combined router and rereducer for CouchDB.

Dependencies (All of these are included in this git repository):
- webmachine
- ibrowse from jungerl
- etap (for testing)
- mochiweb (for webmachine)

Needless to say, it also depends indirectly on couchdb. There is no direct dependencies, but what use is a router
or rereducer for CouchDB without CouchDB. 

The current goal is to add resharding to Pillow. 
X  Automatic generation of resharding validate functions *Done*
X  Automatic resharding using validate functions *Done*
X  CouchDB style config files *Done*
X  Resharding controlled through the config file. The [routing] section is the
   original routing config. [resharding] is the intended routing config. Call
   pillow_routing_table:reshard() to start replicating to the new nodes. Observe
   that the replication completed before executing pillow_routing_table:flip() to
   start using the new nodes. flip also updates the config. At this point, the old    servers may be torn down. *Done*
X  Monitoring UI that will show stats and general health of Pillow *Done*
X  End-to-end resharding through a single call. Pillow will wait until replication is
   complete before flipping to the new servers. Tearing down the old ones will still
   be manual. *Done*
X  control script
X  Daemonize Pillow
X  Control script handling resharding
X  Time to move from deployment script to configure/make install

No clear prioritized list right now, but these are interesting features that would be beneficial:
- Consistent hashing ( to increase control over resharding
- CouchDB view server for JavaScript rereducers
- Support Bulk document API
- Support CouchApp API
- Manage replication to mirror servers making Pillow automatically set up n-server master-master replication for each
Something went wrong with that request. Please try again.