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

Reply via email to