Age | Commit message (Collapse) | Author |
|
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
|
|
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.
|
|
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
|
|
BugzID: 12043
|
|
|
|
|
|
BugzID: 11498
|
|
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
|
|
|
|
|
|
BugzID: 11797
|
|
|
|
This reverts commit d2a9229c4f0a750d8e4191f60227572117a53ab7.
|
|
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.0.x@1064800 13f79535-47bb-0310-9956-ffa450edef68
|
|
This reverts commit 5c3161d57b1d2d7953497c24be09112b6bcf71b6.
|
|
|
|
|
|
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
|
|
BugzID: 10162
|
|
|
|
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
|
|
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.
|
|
This reverts commit a14326a92817d5013c50887d52aaca10cf91d84d.
|
|
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.
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
http://www.erlang.org/doc/efficiency_guide/commoncaveats.html#id52228
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BugzID 10675
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 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).
|
|
|
|
|