cloudant / python-cloudant

A Python library for Cloudant and CouchDB
Apache License 2.0
163 stars 55 forks source link

Correct replicator states #486

Closed ricellis closed 3 years ago

ricellis commented 3 years ago

Checklist

Description

Correct the list of valid replicator states

Fixes #464

Approach

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

Testing

The replicator tests were missing some other states introduced in CouchDB 2.1 scheduler.

Monitoring and Logging