Age | Commit message (Collapse) | Author |
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Also update test relying on obsolete etap API.
|
|
|
|
same deal as before - the Cloudant fork contains CouchDB-specific patches
and rebar fixes.
|
|
As with mochiweb, the dependency URL is a Cloudant fork which contains
the exact code (modulo whitespace) used in CouchDB releases.
|
|
We need to host our own mochiweb which tags the versions used by
CouchDB. This commit also contains a new rebar with a patch to fix
git tag dependencies (submitted upstream).
|
|
|
|
|
|
http://www.erlang.org/doc/efficiency_guide/commoncaveats.html#id52228
|
|
|
|
The checkpoint ID generation algorithm needs to be insensitive to shards
moving from node to node. I think the right solution is to tag each #shard{}
with a UUID and use that UUID in the _local ID.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
There are important distinctions between requests with open_revs=all,
requests with an explicit revision list and latest=true, and a simple
revision list. When open_revs=all, we take the union of all revisions
returned by the workers, then reduce it by filtering out ancestors on
each edit branch. An ancestor counts towards the descendant's read
quorum.
If an explicit revision list is given, a worker can respond with
{{not_found, missing}, Rev}, an {ok, #doc{}} corresponding to the rev
in question, or an {ok, #doc{}} with a newer revision if latest=true
is supplied. not_found is considered to be an ancestor of any {ok,_}
revision for quorum purposes.
Down workers do not contribute to the read quorum.
If workers disagree at all on the response, read repair will run
asynchronously. The repair tries to save all the latest #doc{} records
(i.e. the ones w/o descendants) which were received during the voting.
BugzID 11047
|
|
method for view_cleanup
|
|
|
|
Warnings appear to be unavoidable if we want to support R13B03 and R14A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|