Log Message: |
Refactor/simplify replicator
For each worker (doc copier) process there used to be
a rev finder process. A rev finder dequeues from the
_changes rows queue, finds which document IDs and revisions
are missing in the target and queues the IDs and revisions
of those that are missing into a second queue. Finally
worker processes dequeue up to N elements from this queue.
This model was reduced to have the workers dequeing directly
from the _changes rows queue and find which document IDs and
revisions are missing in the target. This makes the model
simpler without suffering any performance penalty - there's
still enough parallelism to continue to be as efficient as
before.
|