Uploaded image for project: 'Geode'
  1. Geode
  2. GEODE-8548

ACE_Inet_Addr takes too long in reverse DNS resolution

    XMLWordPrintableJSON

Details

    Description

      Whenever TcpConn::connect is called, a system call to get_host_name is made in order to obtain reverse resolution for the connection address, right here:

      void TcpConn::connect() {
        using apache::geode::internal::chrono::duration::to_string;
      
        ACE_OS::signal(SIGPIPE, SIG_IGN);  // Ignore broken pipe
      
        LOGFINER(std::string("Connecting plain socket stream to ") +
                 inetAddress_.get_host_name() + ":" +
                 std::to_string(inetAddress_.get_port_number()) + " waiting " +
                 to_string(timeout_));
      ยทยทยท
      

      get_host_name executes getnameinfo underlying and the thing is that depending on your system configuration in the case of the address not having a reverse resolution entry it might take a long period. In my case it takes 10 seconds.

      Attachments

        Issue Links

          Activity

            People

              gaussianrecurrence Mario Salazar de Torres
              gaussianrecurrence Mario Salazar de Torres
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: