summaryrefslogtreecommitdiff
path: root/apps/couch/src
AgeCommit message (Collapse)Author
2011-04-19Track and report size of live data in DBs and viewsRobert Dionne
The #full_doc_info record is extended to include the summed size of leaf revision document bodies and their attachments. Document sizes are computed on update; accurate sizes of existing databases and view groups are only available after compaction. The document size is defined to be the size of the binary representation of #doc.body. The att_len field is used for attachments; attachments that are shared by multiple revisions of a document are only counted once. The size of a view index is defined as the size of all keys, values, and reductions accessible from the current root of the tree. BugzID: 9995
2011-04-19BugzID:9995 Add a tree foldl function to couch_key_tree.Robert Dionne
This function can be used by many of the existing functions in couch_key_tree that need to walk the revision tree, apply a function at each branch or leaf, and then accumulate results.
2011-04-18Monitor Fd after creating DBRobert Dionne
This patch has the side effect of fixing a crash of the _users DB after the first minute of running. The crash occurs because BigCouch presumes that couch_stats_collector is monitoring the file descriptor, but nothing prevents the supervisor from starting couch_auth_cache (and thus opening the _users DB) before couch_stats_collector is started. The start order is determined by the ordering of the children from the config file in couch_config's ets set. Closes #39 BugzID: 11854
2011-04-13Export make_doc/5 for mem3 replicatorAdam Kocoloski
BugzID: 12043
2011-03-19BugzID: 11976 return dbname, not shard name, in userCtxRobert Newson
2011-03-14Fall back to local DB in open_db_group/2Adam Kocoloski
2011-02-25Handle empty result set correctly in _statsAdam Kocoloski
BugzID: 11498
2011-02-25Improve batching of writes in view updaterAdam Kocoloski
This patch causes the view_updater to wait until either a minimum number of items or a maximum process memory size has been reached before committing the changes to disk. See COUCHDB-700 for discussion BugzID: 11885
2011-02-25Make couch_view_updater amenable to hot upgradesAdam Kocoloski
2011-02-24Improve the way we generate the match spec for a #db{}Adam Kocoloski
2011-02-09Fix and simplify environment for etap testsAdam Kocoloski
BugzID: 11797
2011-02-07comment out logging of calls to filter within _changes.Robert Dionne
2011-02-05Revert "fix replication checkpointing."Robert Newson
This reverts commit d2a9229c4f0a750d8e4191f60227572117a53ab7.
2011-02-05fix replication checkpointing.Robert Newson
2011-01-28COUCHDB-1047 - support inclusive_end with reduce callsRobert Newson
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.0.x@1064800 13f79535-47bb-0310-9956-ffa450edef68
2011-01-28Revert "Add support for inclusive_end to fold_reduce, BugzID 11069"Adam Kocoloski
This reverts commit 5c3161d57b1d2d7953497c24be09112b6bcf71b6.
2011-01-27Set couch app vsn based on deviation from last Apache tagAdam Kocoloski
2011-01-26Remove a function clause that can never matchAdam Kocoloski
2011-01-20Merge CouchDB 1.0.2 release candidateAdam Kocoloski
Conflicts: Makefile.am acinclude.m4.in apps/couch/src/couch_db.erl apps/couch/src/couch_db_updater.erl apps/couch/src/couch_rep.erl apps/couch/src/couch_rep_reader.erl apps/couch/src/couch_view.erl apps/couch/src/couch_view_group.erl rel/overlay/etc/default.ini share/Makefile.am src/couchdb/couch_query_servers.erl src/ibrowse/Makefile.am src/ibrowse/ibrowse.app.in src/ibrowse/ibrowse.erl src/ibrowse/ibrowse_app.erl src/ibrowse/ibrowse_http_client.erl src/ibrowse/ibrowse_lb.erl src/ibrowse/ibrowse_lib.erl src/ibrowse/ibrowse_sup.erl src/ibrowse/ibrowse_test.erl src/mochiweb/mochijson2.erl test/etap/112-replication-missing-revs.t test/etap/113-replication-attachment-comp.t test/etap/140-attachment-comp.t
2011-01-20Make shards visible on backend, be more strict about namingAdam Kocoloski
BugzID: 10162
2011-01-15clean up trailing whitespace, testing new buildRobert Dionne
2011-01-13Monitor sys_db file descriptor to keep it openAdam Kocoloski
A couch_file process occasionally checks to see if it is being monitored by any clients, and closes if not. Specifically, it checks for at least two monitoring processes, because it assumes couch_stats_collector is one of them. That assumption was wrong for sys_db files, so they would shut down after a minute and need to be reopened. BugzID: 11641
2011-01-07BugzID: 11589 call file:close explicitly to keep VM responsiveRobert Newson
Deleting a large file in the previous scheme has caused the Erlang VM to become unresponsive (including making it drop out of the ring of nodes). The cause of this is currently unknown but Adam discovered that explicitly calling file:close/1 on the file descriptor does not cause this behavior. Accordingly, I have typed in his suggested fix and tested it.
2011-01-07Revert "11589 - explictly close file descriptor in couch_file"Robert Newson
This reverts commit a14326a92817d5013c50887d52aaca10cf91d84d.
2011-01-0711589 - explictly close file descriptor in couch_fileRobert Newson
Adam discovered that explicitly calling file:close/1 on the file descriptor does not cause the node to become unresponsive and drop out of the ring.
2011-01-06Refactor OS process managementAdam Kocoloski
Squashed commit of the following: commit a9cd9681f6c88f0f3c019e98e2edfef55cad0129 commit eb38bca08ffbf778b69fbb2d612e23733af82ff5 commit 98a03a079ab24f2c7bd9e0d6d7fac5fa62bfd4eb commit 9b8ec059165d981e4cd743008ecdf393a4f37f61 commit 3a891c1dd9a17fdd267c423b340dd09c31c89d7a commit 68351dd181c8a92b5baa9ac23f25c7c191484394 commit e4384a517e2efeac9231701898a6c67213642319 commit cd954661422d0ef146b5bd7792f835dcc4220c84 commit 3bcca92c7c0102d5722dfc6b2c332766cfe0370c commit 82d15f40f503b2609cf785ce2837e1280edaaa43 commit 70051abbd699e076452d772587c32ee5e09bdcbc commit 7f01d37781e7774015f6cb34f795b28db9ecc9f5 BugzID: 11572 See also COUCHDB-901 A new config setting is introduced. The following block controls the maximum number of OS processes that will be reused. Additional OS processes will still be spawned on-demand, but they'll be terminated when the clients are through with them. [query_server_config] os_process_soft_limit = 100
2011-01-02Allow client to specify a timeout when opening a DBAdam Kocoloski
2010-12-20Use mem3 to get dbname instead of doing pattern matching directlyRobert Dionne
2010-12-09Log the request IDAdam Kocoloski
2010-12-09Support per-shard view compaction w/ non-local design docs, closes #16Robert Dionne
2010-12-09Add support for inclusive_end to fold_reduce, BugzID 11069Robert Dionne
2010-10-21use erlang:send_after/3 instead of timer versionAdam Kocoloski
http://www.erlang.org/doc/efficiency_guide/commoncaveats.html#id52228
2010-10-19fix DB compaction failing to switch over. Reported by rnewsonAdam Kocoloski
2010-09-06support for filtered _changes on multi-node clusters, closes #5Adam Kocoloski
2010-08-29fix heartbeat for _changes feedsAdam Kocoloski
2010-08-27use couchspawnkillable from privdir instead of overlayAdam Kocoloski
2010-08-27fix a bad cherry-pickAdam Kocoloski
2010-08-27avoid deadlocks when changing query_servers configs, BugzID 10679Adam Kocoloski
2010-08-27tolerate view groups initializing during DB deletionAdam Kocoloski
2010-08-27server and client should both update LRU table, BugzID 10755Adam Kocoloski
2010-08-27initialize #db{} so that validation funs are loaded on first writeAdam Kocoloski
BugzID 10675
2010-08-27remove some loggingAdam Kocoloski
2010-08-26log to var/log/dbcore.log by defaultAdam Kocoloski
2010-08-19make dist back in working order, and dbcore starts successfullyBrad Anderson
2010-08-19Cloudant changes to etap testsBrad Anderson
2010-08-19etap couch tests now executing again, work to do on C libs to get them to passBrad Anderson
2010-08-18new version() call allows for hidden patch releasesAdam Kocoloski
2010-08-18Grab bag of Cloudant patches to couch OTP applicationAdam Kocoloski
- Removal of couch_db and couch_ref_counter processes. Active DBs are accessible through a protected ets table owned by couch_server. - #full_doc_info{} in by_id and by_seq trees for faster compaction at the expense of more disk usage afterwards. Proposed as COUCHDB-738 but not accepted upstream. - Replication via distributed Erlang. - Better hot upgrade support (uses exported functions much more often). - Configurable btree chunk sizes allow for larger (but still bounded) reductions. - Shorter names for btree fields in #db{} and #db_header{}. - couch_view_group does not keep a reference to the #db{}. - Terms are stored compressed (again).
2010-08-18couch_util:to_binary now catches all errorsAdam Kocoloski
2010-08-18bind schedulers using VM default strategy on startupAdam Kocoloski