On Wed, 2016-06-22 at 07:07 -0400, Benson Margulies wrote: > On Wed, Jun 22, 2016 at 3:05 AM, Stefan Magnus Landrø > <stefan.lan...@gmail.com> wrote: > > Hi Benson, > > > > Have you considered implementing a custom > > https://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/conn/DnsResolver.html > > that handles DNS changes in a better way than the default implementation? > > You could probably use http://www.xbill.org/dnsjava/ and lookup names > > directly with the amazon NS? > > Thanks for reminding me to ask about that. Does HC call the resolver > as part of deciding whether to keep a connection or not?
No, it does not, but one could make it do so by using a custom ConnectionReuseStrategy. Oleg > The problem > as we see it is this: the DNS mapping for an ELB changes, and a minute > later the connections to it become useless but don't necessarily get > properly closed with a FIN by the ELB. I've written some goofy code > that notices when the address resolution changes for any of the ELB's > we care about, and when it does it calls 'closeIdleConnections' with a > time of 0. On the other hand, I don't think we're currently having any > problems getting InetAddress.getByName to keep up with Amazon, but > your suggestion would be safer. > > > > > > Stefan > > > > 2016-06-20 19:57 GMT+02:00 Benson Margulies <bimargul...@gmail.com>: > > > >> We use the async http components library to connect various components > >> in a system that is deployed, in some cases, on AWS. When it's > >> deployed on AWS, there are ELBs involved. > >> > >> Like some other people, we've having various trauma dealing with the > >> very dynamic environment of AWS ELBs, which includes constant DNS > >> changes and some other issues. So far, we've been making our HC > >> configuration more and more complex. I'm wondering if we should back > >> off and make it simpler -- make a new connection for each request. > >> Obviously, this will be somewhat slower and more expensive, but at the > >> moment we might prefer a slower and more expensive approach that works > >> to one that occasionally gets lost. > >> > >> I appreciate that even making new connections all the time won't > >> compensate for all possible DNS problems -- if Java itself caches a > >> stale name->address translation, making a new connection will fail > >> just as effectively as anything else. > >> > >> Does anyone out there have advice to share (other than running away from > >> ELB)? > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org > >> For additional commands, e-mail: httpclient-users-h...@hc.apache.org > >> > >> > > > > > > -- > > BEKK Open > > http://open.bekk.no > > > > TesTcl - a unit test framework for iRules > > http://testcl.com > > --------------------------------------------------------------------- > To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org > For additional commands, e-mail: httpclient-users-h...@hc.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org For additional commands, e-mail: httpclient-users-h...@hc.apache.org