Skip to content

Remove local replication endpoints in CouchDB 3.x#2089

Merged
nickva merged 1 commit intomasterfrom
remove-local-replicator-endpoints
Jul 31, 2019
Merged

Remove local replication endpoints in CouchDB 3.x#2089
nickva merged 1 commit intomasterfrom
remove-local-replicator-endpoints

Conversation

@nickva
Copy link
Contributor

@nickva nickva commented Jul 31, 2019

Overview

local replication endpoints do something completely unexpected from a user's
point of view -- they replicate to and from node local databases on a random
node. The only way this worked correctly was if someone used the backend port
(:5986) with a single node database. However, that port is getting closed for 3.x
release as well, so it makes even less sense to keep this functionality around.

For more discussion and voting results see ML list:
https://lists.apache.org/thread.html/ddcd9db93cee363db7da571f5cbc7f2bd24b881a34e1ef734d6a0a1c@%3Cdev.couchdb.apache.org%3E

The _replicate HTTP "hack" was left as is, since it does work more or less, however it is inconsistent with what _replicator docs do so we should probably mark it as deprecated and remove it in 4.x

Testing recommendations

make eunit
make elixir

Create a replication with a local db endpoint via _replicate and via _replicator

Checklist

@nickva nickva force-pushed the remove-local-replicator-endpoints branch from 3e5c92f to 34fb80e Compare July 31, 2019 06:35
Copy link
Member

@davisp davisp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everything looks good to me around removing the local implementation thats never used any more. However, removing the auto-fixup for local dbnames at the very top of the HTTP layer seems a bit user unfriendly to me given its about 20 lines of code to prevent users from even noticing the old implementation is gone.

`local` replication endpoints do something completely unexpected from a user's
point of view -- they replicate to and from node local databases on a random
node. The only way this worked correctly was if someone used the backend port
(:5986) with a single node database. However, that port is getting closed for 3.x
release as well, so it makes even less sense to keep this functionality around.

For more discussion and voting results see ML list:
https://lists.apache.org/thread.html/ddcd9db93cee363db7da571f5cbc7f2bd24b881a34e1ef734d6a0a1c@%3Cdev.couchdb.apache.org%3E

The `_replicate` HTTP "hack" was left as is, since it does work more or less,
However it is inconsistent with what _replicator docs do so we should probably
deprecated it and remove it in 4.x.
@nickva nickva force-pushed the remove-local-replicator-endpoints branch from 34fb80e to 9c14cfe Compare July 31, 2019 15:51
Copy link
Member

@davisp davisp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

Comments