Age | Commit message (Collapse) | Author |
|
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
|
|
wildcard in vhost and dynamic routing via pattern matching. Close
#COUCHDB-855.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@986182 13f79535-47bb-0310-9956-ffa450edef68
|
|
Part of ticket COUCHDB-776.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@982330 13f79535-47bb-0310-9956-ffa450edef68
|
|
database for each request requiring authentication. COUCHDB-807
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@957314 13f79535-47bb-0310-9956-ffa450edef68
|
|
Patch by Gavin Sherry and Timothy Smith.
Closes COUCHDB-666 \m/
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@947337 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@916518 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@905134 13f79535-47bb-0310-9956-ffa450edef68
|
|
Shuffling bits around to conform to Erlang conventions.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@884671 13f79535-47bb-0310-9956-ffa450edef68
|
|
many writers. Also removed the couch_batch_save module, now batch requests are simply saved async as immediately, batching with outhr updates if possible.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@832550 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@826173 13f79535-47bb-0310-9956-ffa450edef68
|
|
The couch.app module list was using '*.erl' to list the modules. This
causes issues if weird backup files are introduced into that directory.
It appears that copying to and from HFS file systems can result in files
with a prefix of '._' so that we had '._couch_server.erl' amongst other
things which would then be in the couch.app module list, which would then
prevent the server from booting properly. As in, it would just halt before
any CouchDB code was ever run.
The fix is to make the module list use "couch*.erl" instead.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@825268 13f79535-47bb-0310-9956-ffa450edef68
|
|
Makes the stats calculated over a moving window isntead of calculated for non-overlapping timeframes. This should make trend monitoring more robust.
Thanks once again to Bob Dionne for double checking this.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@816043 13f79535-47bb-0310-9956-ffa450edef68
|
|
rnewson, bitdiddle
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@813051 13f79535-47bb-0310-9956-ffa450edef68
|
|
I was unable to track down the root cause of this bug, but for some reason, having -ljs in the link command for couch_erl_driver was causing a segfault when loading the latter in Erlang.
This patch just removes -ljs from the global LIBS variable and places it specificially in the libs for couchjs.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@811910 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@810432 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@809407 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@809392 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@805272 13f79535-47bb-0310-9956-ffa450edef68
|
|
Fix naming issue for windows c16e.exe
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@805271 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@805260 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@805245 13f79535-47bb-0310-9956-ffa450edef68
|
|
Fixes COUCHDB-406
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@805243 13f79535-47bb-0310-9956-ffa450edef68
|
|
Thanks Mark Hammond and Paul Davis for doing most of the work, and Michael McDaniel for the inspiration.
There is still room for improvement on the APIs exposed to the Erlang views, as well as likely a whole lot of work to be done to increase parallelism. But the important part now is that we have native Erlang views.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@803685 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@802888 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@802548 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@802145 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@800938 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@795125 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@794848 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@794828 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@794057 13f79535-47bb-0310-9956-ffa450edef68
|
|
To generate reports:
# Assuming etap is installed
$ cd /path/to/couchdb
$ ./bootstrap && ERLC_FLAGS=+debug_info ./configure && make cover
You can browse the report by opening ./cover/index.html in your html consuming software of choice.
Shoutout to Nick Gerakines in THANKS for helping with etap and testing in general.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@780326 13f79535-47bb-0310-9956-ffa450edef68
|
|
processes causing leaked erlang processes and fix for view server crashing when view group process terminates.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@780165 13f79535-47bb-0310-9956-ffa450edef68
|
|
until a threshold of documents (or amount of time) has been passed.
This option returns a 202 Accepted response instead of a 201 Created, so do not use it for applications which require all data to be saved safely to disk. It is ideal for applications like logging where losing some events in a crash will be ok.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@771418 13f79535-47bb-0310-9956-ffa450edef68
|
|
No tests or Futon interface for this feature yet.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@762153 13f79535-47bb-0310-9956-ffa450edef68
|
|
- only one instance of given source->target runs at a time
- supervisor restarts replications that terminate abnormally
- pull repl. streams attachments directly to disk
- improved memory utilization
- temporarily rollback parallel async doc GETs during pull rep.
- replication updates show up in Futon Status window
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@751305 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@748299 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@746768 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@746691 13f79535-47bb-0310-9956-ffa450edef68
|
|
already open database faster (by not waiting on file pending operations, particularly fsync).
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@745076 13f79535-47bb-0310-9956-ffa450edef68
|
|
tasks, like view indexing and compaction.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@736906 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@733576 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@732528 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@730016 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@728767 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@727136 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@727132 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@727126 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@724946 13f79535-47bb-0310-9956-ffa450edef68
|