cloudant/couch_replicator — pull request #54 by banjiewen (2014-09-24 18:09:34+00:00)
Title: Use connection pools for _changes requests

In high-throughput scenarios the process of setting up new HTTPS connections can
bottleneck replication performance. The #htttpdb.httpc_pool construct alleviates
most of this pain, but _changes requests don't use them.

The decision to not use connection pools for _changes requests is an old one. As
far as I can discern it is/was related to the use of HTTP pipelining in the
original implementation of couch_replicator. Pipelining is long-gone, but
_changes requests still set up their own connections.

See 1eaa41a97ee00b09712d7d70998d37e67e13a66e for as much historical detail as is
available.

This patch reconfigures replications to use the available connection pool for
_changes requests, along with associated cleanup of related code now rendered
unnecessary.

BugzID: 35687