Details
-
Bug
-
Resolution: Fixed
-
Major
-
2.0-beta
-
Security Level: Public
-
None
Description
There was an optimization which avoids the need to replicate/copy all design documents from the "master" database (a couch database named "master"), which stores only design documents, to all the local vbucket couch databases. This optimization avoids a huge number of couch local -> local replication that consume too many resources and introduce a small delay in propagating the design documents.
However, the compaction daemon (in ns_server, but very, very, very similar to the one in couchdb repository) is looking for design documents in the vbucket databases in order to find which views each has. This is a noop, and it has to get the design document names from the master database instead.
The corresponding couchdb change is:
https://github.com/couchbase/couchdb/commit/c0e4cea90d163231a9dd7a85f80265569e6f6b7a
The ns_server and couchdb compaction daemons:
https://github.com/couchbase/couchdb/blob/preview/src/couchdb/couch_compaction_daemon.erl
https://github.com/membase/ns_server/blob/branch-20/src/couchbase_compaction_daemon.erl