Hi all, While doing a review on the bigcouch branch (for the rcouch merge) I found that the sharding level is mixed with the current applications and I wonder if we could skip some of it.
The one that could probably easily be done is the usage of chttpd in couch_mrview: src/couch_mrview/src/couch_mrview_http.erl src/couch_mrview/src/couch_mrview_show.erl Why not having these changes directly in chttpd. I could port the in the couch_httpd application (which contains the HTTP standalone api) in rcouch. It would also ease that merge. Others I am not sure, but it may be implemented differently. Or at least can someone can provides the detail for each? Why they are needed there? mem3 is used in couch, couch_index, couch_mrview and couch_replicator: src/couch/src/couch_changes.erl src/couch/src/couch_db.erl src/couch/src/couch_db_updater.erl src/couch/src/couch_server.erl src/couch/src/couch_util.erl src/couch_index/src/couch_index_server.erl src/couch_mrview/src/couch_mrview.erl src/couch_replicator/src/couch_replicator.app.src src/couch_replicator/src/couch_replicator_manager.erl fabric is the other one: src/couch/src/couch_changes.erl src/couch/src/couch_db.erl src/couch/src/couch_db_updater.erl src/couch_index/src/couch_index_server.erl src/couch_mrview/src/couch_mrview_show.erl I am not sure that fabric and mem3 need to be there. I didn't test it yet but do they prevent the standalone usage of couch ? Ie. can we prevent completely the sharding level? Just some questions. I am really interested in them. I am asking that in the view of the rcouch merge. Also I think it's interesting to have a clear understanding of the new architecture and how things need to be articulated all together. It would also help anyone that want to ship internally custom versions of the apache couchdb. Maybe people from cloudant and some others already thought about that? - benoit