Age | Commit message (Collapse) | Author |
|
Fix dead lock case in the os process pool
Part of this patch was done by Paul Davis.
The patch also introduces a test case to validate that
the os process pool (couch_query_servers) operates as it
should.
Closes COUCHDB-1246.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1159049 13f79535-47bb-0310-9956-ffa450edef68
|
|
The check for empty ranges was not taking into account the
view option for raw collation. This fixes that by passing
the couch_btree:less/2 function into the check.
Patch by: Jason Smith
Back port of: 1156506, 1156507, 1156509, 1156509, 1156610
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1157706 13f79535-47bb-0310-9956-ffa450edef68
|
|
Doc validation functions from deleted ddocs must be ignored
If a design document is deleted by updating it with a "_deleted"
field set to the boolean value true, its validate_doc_update function
should be ignored for subsequent document insertions/updates.
This closes COUCHDB-1227.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1157429 13f79535-47bb-0310-9956-ffa450edef68
|
|
Leaving the tests however since it doesn't hurt.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1156385 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1156369 13f79535-47bb-0310-9956-ffa450edef68
|
|
Prevent data loss on db creation request
1) Create and populate a database
2) Restart the server
3) Send a PUT request to create the database - the server
will override the existing file, making all previous
documents no longer accessible nor recoverable
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1156361 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1156351 13f79535-47bb-0310-9956-ffa450edef68
|
|
Fix COUCHDB-1076 - views skip empty btree branches
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1152406 13f79535-47bb-0310-9956-ffa450edef68
|
|
Call traversal handlers in btree folds
Previously the fold function was only invoked for leafs.
With this change it's possible to define a fold function which is called
for inner nodes and can return a tuple {skip, Acc} in order to skip
exploration of the branch.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1152405 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1151976 13f79535-47bb-0310-9956-ffa450edef68
|
|
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
|
|
Redefine logging macros
With these macro definitions we don't evaluate the arguments
if the corresponding log level is not enabled.
This behaviour was accidently removed by the patch from
COUCHDB-1054.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1143376 13f79535-47bb-0310-9956-ffa450edef68
|
|
Includes a one-line whitespace fix.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1142689 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
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1141522 13f79535-47bb-0310-9956-ffa450edef68
|
|
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
|
|
Don't steal data from subsequent requests in the pipeline
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1139897 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
|
|
Simpler and safer db open/closing in view group servers
This makes the opening and closing of databases in the view
group server to be more friendly with the db reference counting
system, avoiding more potential db file leaking after compaction,
as we currently open a database in one process and use it on
another process (view compactor, view updater).
This significantly reduces the chances of failure when compacting
very large views as discussed in COUCHDB-994.
This relates to COUCHDB-926 and COUCHDB-994.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1138798 13f79535-47bb-0310-9956-ffa450edef68
|
|
Fix server crash associated with the replicator database
If there's an exception when calculating the replication ID
for a replication document, it crashes the replication manager
gen_server 10 times. 10 is the maximum number of restarts per
hour specified for the couch_server_sup supervisor.
An easy way to trigger such exception is to specify a non
existent filter in a replication document.
This closes COUCHDB-1199.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1137929 13f79535-47bb-0310-9956-ffa450edef68
|
|
This patch also adds extra tests of the key tree merging logic as well
as edoc-formatted documentation for the module and a few of the merge
functions. Closes COUCHDB-902.
Thanks Paul Davis, Bob Dionne, Klaus Trainer.
backported from trunk@1065471
Conflicts:
src/couchdb/couch_key_tree.erl
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1137789 13f79535-47bb-0310-9956-ffa450edef68
|
|
Human readable message on view compaction error
When a view has duplicated document IDs in the main btree,
the view compactor exists. Unfortunatelly its exit reason is
not human readable because it's an IOList.
This patch improves the error message and logs it with an
'error' level.
Issue reported by Mike Leddy in ticket COUCHDB-999.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1136640 13f79535-47bb-0310-9956-ffa450edef68
|
|
Fixes to the doc PUT multipart API
Don't hold the connection forever if the document is rejected
by a validate_doc_update function. The solution is to discard
all the attachments' data if the document was rejected.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1134942 13f79535-47bb-0310-9956-ffa450edef68
|
|
_view_cleanup with no _design docs - COUCHDB-1136
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1133510 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1133272 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1130996 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1129107 13f79535-47bb-0310-9956-ffa450edef68
|
|
"Too many processes"
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1128704 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1128698 13f79535-47bb-0310-9956-ffa450edef68
|
|
- key= ":key", startkey=[":a", ":b"]
- variable substitution via query arguments
- variable substituin via reversed path matching variables
The variable substition is now a lot easier than the old one. Variables
are decoded from the query if they are json, and we recode them only at
the end.
(Patch by Benoît Chesneau)
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1128189 13f79535-47bb-0310-9956-ffa450edef68
|
|
(original patch by Paul Davis, awesomeness enhanced by Robert Newson).
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1128040 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1128039 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1128038 13f79535-47bb-0310-9956-ffa450edef68
|
|
(patch by Paul Davis)
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1128037 13f79535-47bb-0310-9956-ffa450edef68
|
|
Force non admins to supply a user_ctx in replication documents
This is to prevent users deleting replication documents added by other users
and to make it clear who triggers which replications.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1127634 13f79535-47bb-0310-9956-ffa450edef68
|
|
default so if we test text/html first it will alway be true. Then test
first if application/json was given and then test if text/html then
others.
Backported from trunk (related to COUCHDB-1175).
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1126759 13f79535-47bb-0310-9956-ffa450edef68
|
|
Fix timing issues in the doc PUT multipart/related API
Two issues were present:
1) the handler replied to the request before the multipart parser consumed
all the request's data, causing a subsequent request in the same connection
to consume the remaining data from the multipart/related request;
2) the data function passed to the multipart parser could consume, and
discard, all or part of the data from a subsequent request in the same
connection.
This closes COUCHDB-1174.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1126428 13f79535-47bb-0310-9956-ffa450edef68
|
|
Add missing option to multipart/related GETs
This is necessary as the client needs to be able to know if
attachments are encoded or not.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1125830 13f79535-47bb-0310-9956-ffa450edef68
|
|
Use RFC3339 timestamps in replication documents
As recently proposed by Max Odgen, RFC3339 timestamps are
now used instead of Unix timestamps.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1125682 13f79535-47bb-0310-9956-ffa450edef68
|
|
Replication documents that are not in the triggered state can now
be edited by users. This is to make it simpler for Futon users
to restart replications - they can just edit the document, remove
its state field, and save it, instead of recreating it or adding
a similar document but with a different _id.
This is a backport of revision 1125319 (trunk).
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1125321 13f79535-47bb-0310-9956-ffa450edef68
|
|
This is to avoid unncessary updates.
This is a backport of revision 1125317 (trunk).
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1125320 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1104475 13f79535-47bb-0310-9956-ffa450edef68
|
|
Make sure view group shutdowns when database is deleted or dies
Added more assertions to test 200-view-group-no-db-leaks.t to ensure
this doesn't happen anymore.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1102678 13f79535-47bb-0310-9956-ffa450edef68
|
|
Fix logger crash when messages have unicode characters
This closes COUCHDB-1158. Thanks Dale Harvey.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1101924 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1100254 13f79535-47bb-0310-9956-ffa450edef68
|
|
values in the config system which isn't guaranteed.
Make vhost test cases more robust.
Closes COUCHDB-1103
Source patch by Benoit and tests patch by me.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1096636 13f79535-47bb-0310-9956-ffa450edef68
|
|
View groups: only open the databases when needed
View groups keep the databases open all the time. This is a problem
once the server reaches max_dbs_open open databases, as it prevents
the server from closing inactive databases via the LRU system.
Closes COUCHDB-1138.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1096253 13f79535-47bb-0310-9956-ffa450edef68
|