nickva opened a new pull request, #4658:
URL: https://github.com/apache/couchdb/pull/4658
When replication jobs are started with just shard names (paths), mem3_rep
creates `#shard{}` records from those and fills in some fields like `name` and
`node`. However we had left the `range` field as `undefined`. Until a recent
fix to avoid duplicating document purges [1], we didn't care about ranges, so
it was just untidy but not a bit problem. Since the fix, we rely on having a
proper ranges and would get function or case clause errors during purge infos
pulling and pushing operations.
The fix is to use the `mem3:range/1` function to obtain the range based on
the shard path if we can. In some cases we may replicate node local databases,
so we still have to account for the cases that ranges may be `undefined`.
In addition to the fix, improve the tests coverage by testing replication of
purges and local endpoints. Also, take the opportunity to clean up the
mem3_rep_tests suite to use the newer `?TDEF_FE` macro.
[1] https://github.com/apache/couchdb/pull/4626
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]