Allow Fauxton docroot to be overridden (#3333)#3334
Closed
sklassen wants to merge 797 commits intoapache:3.xfrom
Closed
Allow Fauxton docroot to be overridden (#3333)#3334sklassen wants to merge 797 commits intoapache:3.xfrom
sklassen wants to merge 797 commits intoapache:3.xfrom
Conversation
sequential ids
Eliminate unnecessary node lookup
Align with fabric2_ convention.
swap get_node and get_node_wait
open will now initialise the btree if it is not already set up. It is a fatal error to try to open an existing ebtree with the wrong order value.
Remove separate init function
Use ebtree:min() for startkey or ebtree:max() for endkey to include all keys on that end. use both to include all possible keys. It is not permitted to insert either special value into ebtree.
Introduce min and max keys for open ranges
this changed from uuid with the 'sequential' PR merge.
Externalise accumulator logic for group_reduce
Ensure all keys are in range during group_reduce
Do not fail when emilio detects errors
Currently the EPI plugins have no easy way to modify body of the document in before request. There are complicated approaches via overiding compression header. This is due to the fact that `chttp:json_body/1` expects compressed body. We can rely on the fact that `MochiReq:recv_body/1` returns binary to allow passing of already parsed JSON terms (objects and lists).
Simplify using `req_body` for JSON requests
Remove pointers from non leaf
Fix auth injection in test helper
adjust rebar.config to work with rebar2 and rebar3
This fixes range and reverse range when using the special min() and max() values.
The ebtree caching layer does not work correctly in conjunction with FoundationDB transaction retry semantics. If we incorrectly cache nodes that are not actually read from FoundationDB, a retried transaction will rely on incorrectly cached state and corrupt the ebtree persisted in FoundationDB.
Turns out that ebtree caching wasn't quite correct so removing it for now.
Waiting for the timeout option to be set means we could still sneak in and grab the old FDB database handle before fabric2_server updated it in the application environment. This new approach just waits until the handle has been updated by watching the value in the application environment directly.
Any ebtree that uses chunked key encoding will accidentally wipe out any nodes that have a UUID with more than one leading zero byte.
Avoid deleting UUID keys that start with zeros
When we call `couch_httpd:json_body/1` we can have `req_body` already set. In this case we should return the field as is without any attempt to decompress or decode it. This PR brings the approach we use in `chttpd` into `couch_httpd`.
Use `req_body` field if present
Fix mango tests
This is useful so that read conflicts on the changes feed will eventually be resolved. Without an end key specified a reader could end up in an infinite conflict retry loop if there are clients updating documents in the database.
This flips the view indexer to grab the database update_seq outside of the update transaction. Previously we would cosntantly refresh the db_seq value on every retry of the transactional loop. We use a snapshot to get the update_seq so that we don't trigger spurious read conflicts with any clients that might be updating the database.
Add missing default headers to responses
New `elixir-suite` Makefile target is added. It runs a predefined set of elixir integration tests. The feature is controlled by two files: - test/elixir/test/config/suite.elixir - contains list of all available tests - test/elixir/test/config/skip.elixir - contains list of tests to skip In order to update the `test/elixir/test/config/suite.elixir` when new tests are added. The one would need to run the following command: ``` MIX_ENV=integration mix suite > test/elixir/test/config/suite.elixir ```
Add ability to control which Elixir integration tests to run
Member
|
That PR is not quite right :) |
Contributor
Author
Let me try again. I thought I had sync'd with 3.x branch. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
This relates to issue #3333
If erlang's current working directory become unreadable, the fauxton (and any other relative paths) yields 404 Not found.
Testing recommendations
I changed the couchdb.in and re-ran the server with an absolute path.
Fauxton website return 200 and was operational.
Related Issues or Pull Requests
None.
Checklist
rel/overlay/etc/default.ini