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]
