[x] Added tests for code changes or test/build only changes
[x] Updated the change log file (CHANGES.md) or test/build only changes
[x] Completed the PR template below:
Description
Correct the list of valid replicator states
Fixes #464
Approach
Add the failed state to follow_replication since this is another condition under which it should exit in CouchDB 2.1+.
Schema & API Changes
follow_replication exits for the error state even though that is a retryable state in CouchDB 2.1+ systems, it was existing behaviour for Couch < 2.1. Using the error state as an exit condition is retained so the code continues to operate in the same way as it has since launch when interacting with CouchDB >=2.1 based servers.
Behaviour change for the failed state which should have ended follow_replication but didn't, this is a fix.
Security and Privacy
"No change"
Testing
The replicator tests were missing some other states introduced in CouchDB 2.1 scheduler.
Modified existing tests because they did not have the complete list of replicator states for CouchDB 2.1+ and intermittently failed as a result.
Checklist
CHANGES.md
) or test/build only changesDescription
Correct the list of valid replicator states
Fixes #464
Approach
failed
state tofollow_replication
since this is another condition under which it should exit in CouchDB 2.1+.Schema & API Changes
follow_replication
exits for theerror
state even though that is a retryable state in CouchDB 2.1+ systems, it was existing behaviour for Couch < 2.1. Using theerror
state as an exit condition is retained so the code continues to operate in the same way as it has since launch when interacting with CouchDB >=2.1 based servers.Behaviour change for the
failed
state which should have endedfollow_replication
but didn't, this is a fix.Security and Privacy
Testing
The replicator tests were missing some other states introduced in CouchDB 2.1 scheduler.
Monitoring and Logging