Age | Commit message (Collapse) | Author |
|
1) couch_file:sync could leave open fd's if close failed. Now we'll get a trace.
2) couch_file:append_term failing would be bad, so let's test that too.
backported from trunk r1150915
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1150918 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1142410 13f79535-47bb-0310-9956-ffa450edef68
|
|
On server startup, restart replications in error
If we setup a continuous replication which goes into
an error state and restart Couch just before the
replication is retried (before it transitions to the
triggered state), the user has to manually restart
the replication (recreating the document or deleting
its _replication_state field).
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1142263 13f79535-47bb-0310-9956-ffa450edef68
|
|
Replication manager, ignore db monitor messages
Ignore local database monitor messages. These messages
are received in some circunstances because replication
processes spawn local database monitors but never
do the corresponding erlang:demonitor/1,2 calls.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1142260 13f79535-47bb-0310-9956-ffa450edef68
|
|
If a replication transitions to the "error" state, attempt
to restart it up to "max_replication_retry_count" times
(.ini configuration parameter). This number of retry attempts
can now be set to "infinity" as well.
This was already current behaviour in trunk (upcoming 1.2).
Closes COUCHDB-1194.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1142258 13f79535-47bb-0310-9956-ffa450edef68
Conflicts:
apps/couch/src/couch_rep.erl
|
|
Improved error message in the replicator
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1140887 13f79535-47bb-0310-9956-ffa450edef68
|
|
Add infinity timeout to couch_ref_counter calls
After compacting a very large database, the updater calls the couch_db gen_server with
a db record that contains a new ref counter. The couch_db gen_server calls drop on the
old ref counter and calls add on the new ref counter. However since the system is busy
deleting the old db file or garbage collecting, one of the ref counter calls times out,
causing couch_db's terminate to invoked and terminate calls shutdown on the updater.
However the updater is waiting for the call it made to couch_db to complete, which can't
complete since it's waiting for the updater.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1138799 13f79535-47bb-0310-9956-ffa450edef68
|
|
Conflicts:
acinclude.m4.in
apps/couch/src/couch_app.erl
apps/couch/src/couch_doc.erl
apps/couch/src/couch_view.erl
configure.ac
share/www/script/test/replicator_db.js
src/erlang-oauth/Makefile.am
test/etap/Makefile.am
|
|
|
|
|
|
|
|
Thanks Hardtke for ruining my afternoon^H^H^H^H demonstrating the bug.
BugzID: 12112
|
|
|
|
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
|
|
|
|
|
|
|