Validate replication documents added to the replicator database
---------------------------------------------------------------
Key: COUCHDB-1088
URL: https://issues.apache.org/jira/browse/COUCHDB-1088
Project: CouchDB
Issue Type: Improvement
Components: Replication
Affects Versions: 1.1
Reporter: Filipe Manana
Assignee: Filipe Manana
Currently we don't validate the replication documents added to the replicator
database - we don't check if mandatory fields (source and target) are present
and if they have the right type (string or object). We also don't check if
optional fields, like "continuous" or "create_target", have the right type -
for example, often users specify the string "true" as the value for those 2
fields when it should be a boolean.
The following patch adds some basic validation to the _replicator database
default document validation function. Besides throwing meaningful error
messages to the user, it also adds nice information in the log like for e.g.:
[info] [<0.3938.0>] OS Process #Port<0.35369> Log :: Error writing document
`rep1' to the replicator database: The `source' property must exist and be
either a string or an object.
[info] [<0.3887.0>] 127.0.0.1 - - PUT /test_suite_rep_db/rep1 403
[info] [<0.3938.0>] OS Process #Port<0.35369> Log :: Error writing document
`rep1' to the replicator database: The `continuous' field must be a boolean.
[info] [<0.3887.0>] 127.0.0.1 - - PUT /test_suite_rep_db/rep1 403
[info] [<0.3938.0>] OS Process #Port<0.35369> Log :: Error writing document
`rep1' to the replicator database: The `filter' field must be a non-empty
string.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira