nickva opened a new pull request #3711:
URL: https://github.com/apache/couchdb/pull/3711


   When shards are moved, attempt to match missing nodes and ranges from the 
old changes sequence by inspecting current shard uuids.
   
   Previously, if a node and range was missing, we randomly picked a node in 
the appropriate range, so 1/3 of the time we might have hit the exact node, but 
2/3 of the times we would end up with a complete changes feed rewind.
   
   Since update sequences contain uuids of each of the shards, and assuming 
shard moves preserve uuid (they are just plain file copies), it is possible to 
match based on that instead of guessing.
   
   Unfortunately, this involves a fabric worker scatter gather operation to all 
shard copies. This should only happen when we get an incomplete sequence. We 
rely on that happening rarely, mostly right after the shards move, and in case 
users stashed change feed sequence from the old shard map configuration. 
Afterwards, users should start using the new last_seq values which would have 
the new shard map configuration with the new nodes.
   
   


-- 
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