Age | Commit message (Collapse) | Author |
|
Replicator DB: proper handling of the changes loop process.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1039070 13f79535-47bb-0310-9956-ffa450edef68
|
|
Replicator DB: added _replication_state_time (a unix timestamp value) to replication documents.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1038666 13f79535-47bb-0310-9956-ffa450edef68
|
|
Replicator DB: fix a rare gen_server death case. Happened when the rep_db_created message is received before the changes loop dies.
Also simplified a bit the handling of subprocesses exits.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1038662 13f79535-47bb-0310-9956-ffa450edef68
|
|
Corrected error message grammar.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1038182 13f79535-47bb-0310-9956-ffa450edef68
|
|
Replicator DB: stop all ongoing replications when the replicator DB is deleted or renamed (in the .ini config).
Also updated the gen_server to stop when it receives unexpected calls.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1038177 13f79535-47bb-0310-9956-ffa450edef68
|
|
Replicator DB: added underscore prefix to the replication document fields that are meant to to be set/updated only by the replicator.
This makes it more clear to end users that those fields are meant to be used internally by CouchDB.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1038173 13f79535-47bb-0310-9956-ffa450edef68
|
|
Replicator DB changes:
- Added back the restriction that only the replicator can edit replication documents - this avoids
lots of potential race conditions and confusion;
- Added more tests;
- More accurate log messages;
- Don't ignore always replication documents already tagged with a replication_id property - this
is necessary when replicating a replicator DB from one server to another server.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1038068 13f79535-47bb-0310-9956-ffa450edef68
|
|
Add proper validation of user_ctx.roles for replication documents.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1037457 13f79535-47bb-0310-9956-ffa450edef68
|
|
Proper verification of the roles property of a user document.
Closes COUCHDB-790. Thanks Gabriel Farrell.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1037450 13f79535-47bb-0310-9956-ffa450edef68
|
|
to start_key_doc_id and end_key_doc_id.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1036818 13f79535-47bb-0310-9956-ffa450edef68
|
|
Closes COUCHDB-949.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1036813 13f79535-47bb-0310-9956-ffa450edef68
|
|
counters don't get unreleased forever because of a
continuous (or long) replication is going on.
Same type of issue as in COUCHDB-926.
Thanks Adam Kocoloski for some suggestions.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1036705 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1036627 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1036425 13f79535-47bb-0310-9956-ffa450edef68
|
|
reference counter is released.
Same type of issue as in COUCHDB-926.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1036407 13f79535-47bb-0310-9956-ffa450edef68
|
|
counters don't get unreleased forever.
Closes COUCHDB-926.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1036294 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1035987 13f79535-47bb-0310-9956-ffa450edef68
|
|
validation function and added some logging.
1) Now it's easier to replicate to the replicator DB and by default it's writable by any user
(just like any user can POST to /_replicate/);
2) The logging in the document validation function allows us to see in the log, after a replication,
why a document was not written to the target replicator DB.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1035986 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1035981 13f79535-47bb-0310-9956-ffa450edef68
|
|
Thanks to Filipe for pointing this out to me.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1035978 13f79535-47bb-0310-9956-ffa450edef68
|
|
Principle of least surprise.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1035971 13f79535-47bb-0310-9956-ffa450edef68
|
|
This reduces code complexity and allows for continuous by doc IDs replication.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1035780 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1035778 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1035694 13f79535-47bb-0310-9956-ffa450edef68
|
|
the one that is used internally.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1035581 13f79535-47bb-0310-9956-ffa450edef68
|
|
Patch by Jason Smith.
Closes COUCHDB-881.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1035097 13f79535-47bb-0310-9956-ffa450edef68
|
|
patch to get filtering on docids.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1034891 13f79535-47bb-0310-9956-ffa450edef68
|
|
function mochiweb_request:accepts_content_type/1.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1034554 13f79535-47bb-0310-9956-ffa450edef68
|
|
The later are not available in earlier OTP releases.
Closes COUCHDB-856.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1034380 13f79535-47bb-0310-9956-ffa450edef68
|
|
bytes length prefix only in the first file read operation.
For reads of small terms/iolist (up to 8Kbs), this speeds up the whole operation. No impact on larger terms/iolists.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1033790 13f79535-47bb-0310-9956-ffa450edef68
|
|
far headers are always smaller than a block). Read time is basically reduced to half.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1033714 13f79535-47bb-0310-9956-ffa450edef68
|
|
You can now request a list of keys in the query string using a query
string like:
?keys=["foo", "bar"]
Your query string obviously needs to be properly escaped.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1033676 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1033640 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1033093 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1032764 13f79535-47bb-0310-9956-ffa450edef68
|
|
Closes COUCHDB-930.
Patch by Juuso Väänänen. Thanks.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1032673 13f79535-47bb-0310-9956-ffa450edef68
|
|
The semicolon separates a media type from its parameters.
A more complete solution, which takes into account Q values, was submitted upstream: https://github.com/mochi/mochiweb/issues/issue/21.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1032391 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1032288 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1031887 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1031884 13f79535-47bb-0310-9956-ffa450edef68
|
|
The second of two new features to replace the _externals protocols. This
allows users to configure CouchDB to proxy requests to an external HTTP
server. The external HTTP server is not required to be on the same host
running CouchDB.
The configuration looks like such:
[httpd_global_handlers]
_google = {couch_httpd_proxy, handle_proxy_req, <<"http://www.google.com">>}
You can then hit this proxy at the url:
http://127.0.0.1:5984/_google
If you add any path after the proxy name, or make a request with a query
string, those will be appended to the URL specified in the configuration.
Ie:
http://127.0.0.1:5984/_google/search?q=plankton
would translate to:
http://www.google.com/search?q=plankton
Obviously, request bodies are handled as expected.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1031877 13f79535-47bb-0310-9956-ffa450edef68
|
|
This is a simple feature that allows useres to configure CouchDB
so that it maintains a given OS level process alive. If the process
dies for any reason, CouchDB will restart it. If the process restarts
too often, then CouchDB will mark it has halted and not attempt
to restart it. The default max restart rate is three times in the
last five seconds. These parameters are adjustable.
Commands that are started in this manner will have access to a simple
API over stdio to request configuration parameters or to add log
statements to CouchDB's logs.
To configure an OS process as a CouchDB os_daemon, create a section
in your local.ini like such:
[os_daemons]
daemon_name = /path/to/command -with args
This will make CouchDB bring up the command and attempt to keep it
alive. To request a configuration parameter, an os_daemon can write
a simple JSON message to stdout like such:
["get", "os_daemons"]\n
which would return:
{"daemon_name": "/path/to/command -with args"}
Or:
["get", "os_daemons", "daemon_name"]\n
which would return:
"/path/to/command -with args"
There's no restriction on what configuration variables are visible.
There's also no method for altering the configuration.
If you would like your OS daemon to be restarted in the event that
the configuration changes, you can send the following messages:
["register", $(SECTION)]\n
When anyting in that section changes, your OS process will be
rebooted so it can pick up the new configuration settings. If you
want to listen for changes on a specific key, you can send something
like:
["register", $(SECTION), $(KEY)]\n
In this case, CouchDB will only restart your daemon if that exact
section/key pair changes, instead of anything in that entire section.
Logging commands look like:
["log", $(JSON_MESSAGE)]\n
Where $(JSON_MESSAGE) is arbitrary JSON data. These messages are
logged at the 'info' level. If you want to log at a different level
you can pass messages like such:
["log", $(JSON_MESSAGE), {"level": $(LEVEL)}]\n
Where $(LEVEL) is one of "debug", "info", or "error".
When implementing a daemon process to be managed by CouchDB you
should remember to use a method like checking the parent process
id or if stdin has been closed. These flags can tell you if
your daemon process has been orphaned so you can exit cleanly.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1031875 13f79535-47bb-0310-9956-ffa450edef68
|
|
Same reason as for COUCHDB-932.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1031276 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1030430 13f79535-47bb-0310-9956-ffa450edef68
|
|
remote DB.
Closes COUCHDB-932.
Patch by Dale Harvey. Thanks.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1030405 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1028070 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1028063 13f79535-47bb-0310-9956-ffa450edef68
|
|
Closes COUCHDB-858.
Patch by Klaus Trainer. Thanks Klaus.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1027215 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1025573 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1025563 13f79535-47bb-0310-9956-ffa450edef68
|