AsyncServerSocket: more tries for binding to a port
authorMark McDuff <mcduff@fb.com>
Mon, 1 Jun 2015 21:57:10 +0000 (14:57 -0700)
committerNoam Lerner <noamler@fb.com>
Wed, 3 Jun 2015 16:54:03 +0000 (09:54 -0700)
Summary: User reports of intermittent failures at 5.  Setting up a server is expensive.  Binding to a socket is pretty cheap.  Why not 25 tries?  Why not 100?

Test Plan: hope

Reviewed By: alandau@fb.com

Subscribers: folly-diffs@, yfeldblum, chalfant

FB internal diff: D2116187

Signature: t1:2116187:1433199889:09d6916eddf8521f120894ce361c3e1a96905c90

folly/io/async/AsyncServerSocket.cpp

index b48129c4ec77d683107ba8e3a270311fa21a5604..8520f464f47d4b9c847eb8a50239586da9ef705a 100644 (file)
@@ -396,7 +396,7 @@ void AsyncServerSocket::bind(uint16_t port) {
     }
   };
 
-  const int kNumTries = 5;
+  const int kNumTries = 25;
   for (int tries = 1; true; tries++) {
     // Prefer AF_INET6 addresses. RFC 3484 mandates that getaddrinfo
     // should return IPv6 first and then IPv4 addresses, but glibc's