diff options
author | Paul J. Davis <paul.joseph.davis@gmail.com> | 2012-01-31 14:34:59 -0500 |
---|---|---|
committer | Paul J. Davis <paul.joseph.davis@gmail.com> | 2012-01-31 14:37:53 -0500 |
commit | f199c336b304b1a9abc03d6898b10dafb7a17ad6 (patch) | |
tree | 87d0316775cf5a5642ebfa1e9807d568ebe049d6 /make_tarball | |
parent | 6696d6fd42620f87f29f09f03daaf5fbe454e10d (diff) |
Fix bug in replicator request piplining
A replication with both an HTTP source and target on the same host and
port could end up in a dead lock due to ibrowse replication pipelining
when attachments are present on the source. The ibrowse http worker
would end up forming a multipart/mime body using anonymous reader
functions for attachment stubs. When the attachment stub functions are
executed it is possible that they end up assigned to the same ibrowse
worker.
This is a bit of a long path but then end result is equivalent to
calling gen_server:call(self(), Args, infinity) from a gen_server
callback.
A quick work around for users is to set up a DNA alias (possibly in
/etc/hosts) or to use a combination of hostname and ip address so that
ibrowse assigns the requests to different pools.
Diffstat (limited to 'make_tarball')
0 files changed, 0 insertions, 0 deletions