summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'master' into feat/re-increase-max-req-sizefeat/re-increase-max-req-sizeJan Lehnardt2018-07-1729-62/+215
|\
| * add retry to test_request:request()Jan Lehnardt2018-07-171-1/+5
| |
| * Improve detection of git tags/dirty statusJoan Touzet2018-07-172-10/+72
| | | | | | | | | | | | | | | | | | | | Unfortuantely, #1437 brought in a build bug that caused dist tarballs to be created always using the last tag that could be found on the tree. This lead to `master` building tarballs labelled `2.1.0`. The new approach includes extensive comments to explain the approach, fixes the bug, and for an encore adds -dirty if you're building a CouchDB with local changes that aren't committed to git.
| * Report git sha on welcome requestJan Lehnardt2018-07-177-6/+26
| | | | | | | | Closes #1309
| * Make MD5 hash implementation configurable (#1171)rokek2018-07-1621-46/+107
| |
| * improve ddoc test reliablilty by waiting for ddoc deletionJan Lehnardt2018-07-161-1/+7
| |
* | re-raise max_http_request_size to 4GBJan Lehnardt2018-07-161-1/+1
|/
* Optionally prevent non-admins from accessing /_all_dbsJan Lehnardt2018-07-152-1/+7
|
* demote notice to debug logs by @wycJan Lehnardt2018-07-151-5/+3
|
* validate bind address by @wycJan Lehnardt2018-07-151-10/+25
|
* Clarify bad index creation error messagesBrandon Gottlob2018-07-141-2/+2
| | | | Fixes #927
* wait for db deletion before db re-creation. Closes #1197Jan Lehnardt2018-07-141-0/+7
|
* raise timeouts in attachment testsJan Lehnardt2018-07-141-3/+3
|
* bump depsJan Lehnardt2018-07-141-2/+2
|
* string:trim() compat for couch_util:trim()Jan Lehnardt2018-07-141-0/+3
|
* Use couch_util:trim for greater erlang compatibilityRobert Newson2018-07-143-7/+34
|
* build: release candidate tarball should have -RCxDave Cottlehuber2018-07-141-3/+7
| | | | | | the released tarball should have -RCx in the name, but not in the extracted file, otherwise we can't simply rename the final artefact for our public release.
* build: ease pattern matching to be less pedantic about RCDave Cottlehuber2018-07-141-1/+1
| | | | | | | | | | | git-describe may have changed output formats. The previous regex doesn't allow any trailing content, and git-describe always appends -g<SHA> unless abbrev=0 is added. This approach pulls out only the matching tag, leaving behind any trailing garbage from git-describe, and as a bonus allows tagging a commit from within a branch, and running a release directly from the branch without needing to re-check out the tag itself.
* config: improve handling of admin-supplied changesDave Cottlehuber2018-07-142-4/+8
| | | | | | - send a readable error response from failed config set - trust but verify admin-supplied content in separate function - return specific error conditions for logging
* Drop Erlang R16 supportJan Lehnardt2018-07-132-2/+1
|
* Replace R16B03 with 17.5.3 for PR#1427Joan Touzet2018-07-131-2/+2
|
* Views now retain update_seq after compaction.Jan Lehnardt2018-07-131-0/+2
| | | | | | | | | Previously on view compaction, the new index state would not carry over the associated database update and purge sequences. As a result, views who were compacted at least once could no longer use the ?update_seq query option, or purge properly. Closes #984
* hook up proxy auth handler to chttpdJan Lehnardt2018-07-132-0/+9
|
* Add tests for mango conflict findingJan Lehnardt2018-07-132-0/+46
| | | | | I couldn’t find a cleaner way to add _bulk_docs with `new_edits: false`.
* Add `conflicts: true` option to mango selectorsJan Lehnardt2018-07-131-4/+4
| | | | | | This allows for using Mango queries for finding docs with conflicts. Closes #1101
* Adjust deletion tests in different cluster quorum conditionsjjrodrig2018-07-135-76/+20
|
* Deletion responds 200 after a response from every node, and 202 in other casejjrodrig2018-07-132-5/+5
|
* Fix for issue #1136 - Error 500 deleting DB without quorumjjrodrig2018-07-135-9/+68
| | | | Complete deletion tests with not found
* Make stem_interactive_updates option work againNick Vatamaniuc2018-07-114-119/+87
| | | | | | | | | | | | After the aebdbc452573f70f4e50d88af5814d0fbe936333 stemming is done separately from merge so stem interactive option didn't take effect. That is mostly ok as speed improvements should reduce the need for that option, but it still might be nice to keep the option (just in case). Also, a nice side effect is it removes an extra external function from couch_key_tree module and simplifies the tests a bit. Related PR: #958
* Added tests for checking http status code depending on cluster quorumjjrodrig2018-07-0928-0/+817
|
* feat: remove duplicate authentication checkJan Lehnardt2018-07-091-1/+0
|
* feat: avoid double builds on PRsJan Lehnardt2018-07-091-0/+8
|
* allow socket server configuration for TLS httpdJan Lehnardt2018-07-091-4/+13
|
* remove mention of os daemons and externals in ini filesJan Lehnardt2018-07-082-37/+1
|
* Don't set context for compaction files during db delete (#1419)Eric Avdey2018-06-292-3/+3
| | | | | | | | | When we delete files with context option set to `delete`, `couch_file` respects configuration flag "enable_database_recovery" and just renames the files in case it's set to true. This change removes context for compaction files deleted during database deletion to make sure we are actually erasing them and not just renaming and leaving behind.
* Merge pull request #1401 from Spotme/spotme/fix/couch-native-processiilyak2018-06-292-1/+49
|\ | | | | Fix for a function_clause crash in the couch_native_process for Erlang views
| * tests(couch_changes): add tests for changes feed filtering using an Erlang viewAlexanderKaraberov2018-06-291-1/+37
| |
| * fix(_view changes feed): fix function_clause crash in couch_native_process.AlexanderKaraberov2018-06-291-0/+12
|/ | | | Crash was caused by a missing implementation of ddoc function for <<"views">> FunPath, implementation is based on FilterFun but matches return values of the erlang:put() which is called in the native Emit function and also expects ok and false when docs were not emitted.
* Add regression runs on new dedicated FreeBSD VMJoan Touzet2018-06-271-1/+26
| | | | Thanks to Just Some Enterprises for donating the compute power!
* Update build dependency docs for FreeBSDJoan Touzet2018-06-271-2/+4
|
* Update snappy dep to CouchDB-1.0.1 with 21.0 supportNick Vatamaniuc2018-06-211-1/+1
| | | | Issue #1396
* Add constant index fields to sort based on the selector (#1376)garren smith2018-06-207-47/+392
| | | | | | | | This moves the sort check into the is_usable function for all indexes. For map/reduce indexes it can add any constant fields e.g {a: {"$eq": 4} to the prefix of the sort because it won't affect the actual sort but will increase the chance that an index is selected. This is a user experience fix to help a user if they don't add all the columns for an index to the sort fields.
* Prepare to fabric attachment receiver from a fun closure to a tupleNick Vatamaniuc2018-06-192-0/+170
| | | | | | | | | | | Passing closures around is fragile and prevents smooth upgrading. Instead pass a tuple with a data from the receiver closure explicitly and convert to back to a local fun locally on each node. This is a preparatory commit before the switch. To ensure attachment uploading requests are successful, would need to first install this change on all the nodes. Then in a separate upgrade step, switch fabric.erl to call fabric_doc_atts:receiver instead fabric_doc_attatchments:recevier.
* refactor process_request to not drop req (#1375)Tony Sun2018-06-191-5/+46
| | | | Previously, when we fail authorization but pass authentication, we use the old HttpReq which drops user_ctx. This change leaves user_ctx.
* Call `set_mqd_off_heap` for critical processesPaul J. Davis2018-06-195-0/+6
| | | | | | This uses the new `couch_util:set_mqd_off_heap/0` function to set message queues to off_heap for some of our critical processes that receive a significant amount of load in terms of message volume.
* Add set_mqd_off_heap utility functionPaul J. Davis2018-06-191-0/+10
| | | | | | | | | | | | In Erlang VMs starting with version 19.0 have a new process_flag to store messages off the process heap. This is extremely useful for processes that can have huge numbers of messages in their mailbox. For CouchDB this is most usually observed when couch_server backs up with a large message queue which wedges the entire node. This utility function will set a process's message_queue_data flag to off_heap in a way that doesn't break builds of CouchDB on older Erlang VMs while automatically enabling the flag on VMs that do support it.
* Fix couch_key_tree_tests.erlPaul J. Davis2018-06-161-5/+19
| | | | | | | | | | The `should_merge_tree_to_itself` and `should_merge_tree_of_odd_length` tests were both invalid as merging does not support merging of anything other than a linear path. This failure was covered up by the fact that the stem operation will detect and cover up any errors from a failed merge. Co-Authored-By: Nick Vatamaniuc <vatamane@apache.org>
* Optimize couch_key_tree:stem/2Paul J. Davis2018-06-163-22/+95
| | | | | | | | | | | | | | This is two related optimizations for stemming revisions. The first optimization re-writes the stemming algorithm to drop it from an O(N^2) to O(N) operation by using a depth first search through the tree and tracking which revisions are within `revs_limit` revs from a leaf dropping any revision that exceeds that limit. The second optimization is just that we avoid calling stemming more often than necessary by switching away from using `merge/3` to `merge/2` and then calling `stem/2` only when necessary. Co-Authored-By: Nick Vatamaniuc <vatamane@apache.org>
* Fix active size calculations for viewsPaul J. Davis2018-06-153-26/+90
| | | | | | | | | | | | | | | | | | | | It was brought to my attention that the active size looked a bit funny occasionally as it could be larger than the file size. Given that active size is defined to be the number of bytes used in a view file it must be strictly greater than or equal to zero as well as less than or equal to file size. Thus the great hunt had begun! While I'd love more than anything to regail you, Dear Reader, with the tales, the joys, the highs, and yes, even the lows of this search, it turns out that I cannot. I must not. For there were none! Turns out this was a trivial bug where we were re-using the ExternalSize calculation instead of applying `couch_btree:size/1` to all of the btrees in the `#mrview` records. Simple bug comes with a correspondingly simple fix. I also noticed that the info tests were broken and not being run so I spent a few minutes cleaning those up to make the various assumptions.
* Merge pull request #1387 from cloudant/make-bin_opt_info-optionalEric Avdey2018-06-152-5/+13
|\ | | | | Add compile's command line options, introduce `ERL_OPTS` and make `bin_opt_info` optional.