tree f0038706358a95abf81d3ad1071dfb9e5562ecc2
parent d775155a134ce310ff86ad8b29a806cb0b3ccacc
author Jay Doane <jaydoane@apache.org> 1554791572 -0700
committer Nick Vatamaniuc <vatamane@gmail.com> 1623086738 -0400
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEC9ephJnEq0HJEO5l/ATfvJZXp44FAmC+VpIACgkQ/ATfvJZX
 p44PkQ//UDmgEgmj87FbPDFHVJDEQXaCjLOh9cndrmCtS6trl08484mXNk/Azr16
 i/bdZ7zp91EvNVQti08vYE96qXISLuiorv9uPqZacdp/0RvWR3Bv3/hvQzTHmHq6
 Frk8AHManK2aMrBbGyevlGnximTnGl3/fOiqYiT48dP+Tl0E/SoATH4AxrRf7ldO
 WF1SJLpSkLbLDnTZzwSGUnEbYpSGAL8YAgLdsUMViFy8Aawx3dKZRE9L3QGl4KSq
 eb6LetAtS6fk6MIQbXmRiYHJtPTbEhL5EFMYMbS80Qgiv8fxu+mDu0V96T3qB6Y9
 oFrtWgHBHm0TkIlkKZDtiWCCLukVWxQLpHlHY+A2vym/SPhO61zAMlf7eJMz6O1Q
 KoRs2+fw7KubykvwvbrgIs/7GUN8HZR3/H+LvZ1hmiEQEse2KzcEhvcDn2mIF1w4
 EM6l3BDl1C/wPoM4GCALmVcsWLmCnsy0YbrgWiff8vJ8oErkK+8FYWrVr61C5sqB
 OCnT5tc0vfLEokBVPPxYGKtSlUBxl65NQKYCS+aqZHH1aruyRC26uO2osDPTeKk/
 3iim61FJ5dLaeLwWtROPyO1OWulK+mZDFJNihDYfT+vCcGC1+Ou2pL2oEQ2+v6RN
 nk6Pebu5CpsWIP0Ja0xHvry71CHDaCOa9cL2MejTbTBA3bL/2nY=
 =eL3s
 -----END PGP SIGNATURE-----

Get a new lb pid if existing pid is not alive

It's possible for the connection process associated with a pid in the
ibrowse_lb ets table to die, yet remain in the table, in which case
subsequent requests to the corresponding {Host, Port} will result in an
error like the following:

(node1@127.0.0.1)9> ibrowse:send_req("http://localhost:15984", [], get).
                ** exception exit: {noproc,
                       {gen_server,call,
                           [<0.2451.0>,
                            {spawn_connection,
                                {url,"http://localhost:15984","localhost",15984,
                                    undefined,undefined,"/",http,hostname},
                                10,10,
                                {[],false},
                                []}]}}
     in function  gen_server:call/2 (gen_server.erl, line 215)
     in call from ibrowse:try_routing_request/14 (src/ibrowse.erl, line 377)

This checks whether the pid about to be returned from the table is alive,
and if not, the entry is deleted, and a new pid is obtained.
