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]

Reply via email to