| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Our headers start with a <<1>> and then four bytes indicating the length
of the header and its checksum. When the header is larger than 4090
bytes it will be split across multiple blocks in the file and will need
to be reassembled on read. The reassembly consists of stripping out
<<0>> from the beginning of each subsequent block in the
remove_block_prefixes/2 function. The bug here is that we tell
remove_block_prefixes that we're starting 1 byte into the current block
instead of 5, so it ends up removing one good byte from the header and
injecting one or more random <<0>>s.
Headers larger than 4k are very rare and generally require a view group
with a huge number of indexes or indexes with fairly large reductions,
which explains why this bug has gone undetected until now.
|
|
|
|
|
| |
Patch by Matt Goodall. Thanks.
Closes COUCHDB-1317.
|
|
|
|
|
|
| |
Windows doesn't have the libgen.h header or an easily identified
basename function. Instead of playing games we just configure the name
with autoconf and run with that.
|
|
|
|
|
| |
Accidentally inverted the logic of a test when patching for newer
versions of SpiderMonkey.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This patch allows couchjs to link against the SpiderMonkey as it existed
in the mercurial hash 59c1e6bdb11 from [1]. This does *not* ensure
compatibility with CouchDB as there are other things that will also need
to be fixed. Specifically, the anonymous function issue for builtin JS
functions.
[1] http://hg.mozilla.org/mozilla-central/
|
|
|
|
|
|
|
|
|
|
| |
Versions of SpiderMonkey newer than js185-1.0.0 have removed the
JSOPTION_ANONFUNFIX which basically invalidates all CouchDB JavaScript
functions ever written.
This configure patch prevents the accidental linking to a library that
has this new behavior while allowing people to forcefully override the
check.
|
|
|
|
|
|
|
| |
After a recent optimization (COUCHDB-1288), querying the _changes
feed using one of the builtin filters (_doc_ids, _design) with
?descending=true was not producing the correct results anymore.
This changes fixes it and adds a test.
|
|
|
|
| |
It was broken after the vendor property was added.
|
| |
|
| |
|
| |
|
|
|
|
| |
This reverts commit 293ae2236859629a6dabc3727d0ccca977b8a8f8.
|
| |
|
|
|
|
| |
resolved in 1.1.1
|
|
|
|
|
|
| |
The small period of 50ms was causing the test to fail on
slower machines, as the source the database compaction
didn't finish within 30 seconds.
|
|
|
|
| |
This is more correct and less confusing.
|
| |
|
|
|
|
|
|
| |
Instead of using an hardcoded value of 10, this parameter is
now configurable via .ini configuration or per replication
in the replication document/object (field "retries_per_request").
|
| |
|
|
|
|
|
|
|
|
| |
Instead of having workers report their stats only when they
finish a batch, allow them to report them more often so that
the replication entry in _active_tasks is updated more often.
This avoids giving the wrong idea to applications that the
replicator is stuck when workers are processing heavy batches.
|
| |
|
| |
|
|
|
|
|
|
|
| |
This change makes argument parsing in couchjs more robust:
* Removes the need for couchjs script
* Adds long options
* Makes all the options to couchjs available (fix COUCHDB-893)
|
|
|
|
|
|
| |
Apache CouchDB is now hosted in Git.
http://xkcd.com/269/
|
|
|
|
|
|
| |
Test by Christian Carter
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1177890 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1177555 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Due to a bug, older releases allowed the creation of
documents with an empty ID, which are impossible to
GET therefore making the replicator crash.
This change simply skips such documents and logs
an error message to inform users.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1177548 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1177495 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
| |
This module is deprecated in OTP R15, which is going to
be released by the end of this year.
The etap tests now use ibrowse instead.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1177459 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1177162 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As a follow up to COUCHDB-1265 I was missing the fact that after the
insertion of a new update_seq into an internal node it is quite possible
that a compaction runs before the doc is updated again. This is
important because compaction removes information of the largest update
seq from the tree itself.
The fix is simple to include the update_seq from the #full_doc_info{}
record when calculating #doc_info.high_seq. The way to think of this
is that it's the maximum value from all known values for the update
sequence which can be defined as all values known in the tree or in the
full_doc_info record.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1176701 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
| |
We were making a typical JavaScript mistake testing a module for
truthiness instead of checking that it was undefined.
Fixes COUCHDB-1223
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1176677 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Found this error using the Debian package for SM 1.8.5 and have since
had reports of users seeing it as well. The basic error is that some
versions of SpiderMonkey appear to dislike this call to eval:
eval("function(){}");
The fix is simply to wrap the function source in parenthesis so that
SM is convinced that it knows how to evaluate a function.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1176666 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
| |
make sure we have a binary here.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1176648 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
| |
module isn't used give it a proper module declaration.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1176269 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1176267 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
| |
If the compaction is retried 2 or more times, there's a badmatch
when asserting that the number of changes processed equals the
number of total changes. This is due to the fact that the task
properties were not updated properly once a retry happens.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1175089 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
| |
Failing to compact here could cause errors trying to resume a compaction
due to timeouts while searching for a header.
See COUCHDB-994
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1174984 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
|
| |
I tried really hard to think of a reason to keep this as val. But in
the end it was just calming my OCD to have atoms almost all the same
size.
Fixes COUCHDB-1291
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1173445 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1173442 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1173440 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
| |
Expose the proper API to allow the compactor to use the updater to
top off a compaction when the view was udpated during compaction.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1173439 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Long running index compactions could fail to complete if something was
iterating db's due to the underlying db being closed. Seeing as index
compaction is non-resumable this prevented index compaction from
completing.
Fixes COUCHDB-1283
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1173435 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1173431 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, the builtin changes filters "_doc_ids" and "_design"
are not very efficient because they fold the entire seq btree
and then filter the values by document ID.
This implementation avoids that by doing direct lookups against
the id btree, and then, for continuous changes requests, it
just listens for database update events and does partial seq
btree folds.
COUCHDB-1288
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1173419 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
| |
Don't check for a progress of 100%. Because the number of
documents the test writes is variable, sometimes the progress
is below 100% (99, 98 for e.g.) due to integer division
truncation.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1172423 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
| |
The task status for a replication is now updated more
often. It also avoids the case where the reported
progress was greater than 100%.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1172418 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Nginx and a few other servers don't like PUT/POST requests
without a Content-Length header, making it impossible to
do a chunked transfer encoding for these requests.
Issue and patch tested by Dale Harvey, thanks.
Closes COUCHDB-1286.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1172388 13f79535-47bb-0310-9956-ffa450edef68
|