Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-7949

[c++ client]msg::Connection.open() never return when FQDN url is provided and broker not started

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • qpid-cpp-1.36.0
    • None
    • C++ Client
    • None

    Description

      Test 1

      The conditions are :

      • the broker is not started.
      • the IP address is set in the url.
      • the IP is reachable by ping
        Output : the open() function exit and isOpen() returns false.
        Result : => Expected behavior
        source code:
        msg::Connection *connection = new msg::Connection("amqp:tcp:166.99.224.88:5672", "{protocol: amqp1.0}");
        connection->setOption("transport", "tcp");
        connection->setOption("reconnect", false);
        connection->open();
        printf("connection %s to AMQP broker \n",(connection->isOpen()) ? "OK" : "KO");
        

        logs are

        2017-10-03 08:54:00 [Messaging] debug Protocol defaults:
        2017-10-03 08:57:31 [Messaging] debug Trying versions amqp1.0
        2017-10-03 08:57:31 [Messaging] debug Driver started
        2017-10-03 08:57:31 [Messaging] debug tcp:166.99.224.88:5672 Connecting ...
        2017-10-03 08:57:31 [Client] debug Set TCP_NODELAY
        2017-10-03 08:57:31 [Messaging] debug Failed to connect: Connection refused
        connection KO to AMQP broker
        

      Test 2

      The conditions are :

      • the broker is not started.
      • the FQDN address is set in the url.
      • the FQDN is reachable by ping
        Output : the open() function never exit, and EpollPoller.cpp:357 complains "No such file or directory".

      Result : => Failed

      ping <FQDN>
      PING <FQDN> (166.99.224.88) 56(84) bytes of data.
      64 bytes from 166.99.224.88: icmp_seq=1 ttl=128 time=2.01 ms
      64 bytes from 166.99.224.88: icmp_seq=2 ttl=128 time=1.19 ms
      

      source code:

      msg::Connection *connection = new msg::Connection("amqp:tcp:<FQDN>:5672", "{protocol: amqp1.0}");
      connection->setOption("transport", "tcp");
      connection->setOption("reconnect", false);
      connection->open();
      printf("connection %s to AMQP broker \n",(connection->isOpen()) ? "OK" : "KO");
      

      logs are

      2017-10-03 08:38:04 [Messaging] debug Protocol defaults: 
      2017-10-03 08:38:05 [Messaging] debug Trying versions amqp1.0
      2017-10-03 08:38:05 [Messaging] debug Driver started
      2017-10-03 08:38:05 [Messaging] debug tcp:<FQDN brokername>:5672 Connecting ...
      2017-10-03 08:50:49 [Client] debug Set TCP_NODELAY
      2017-10-03 08:50:49 [System] debug Ignored socket connect error: Connection refused
      2017-10-03 08:50:49 [System] debug Exception constructed: Network is unreachable: <FQDN>:5672 (/usr/src/packages/BUILD/src/qpid/sys/posix/BSDSocket.cpp:161)
      2017-10-03 08:50:49 [System] debug Ignored socket connect exception: Network is unreachable: <FQDN>:5672 (/usr/src/packages/BUILD/src/qpid/sys/posix/BSDSocket.cpp:161)
      2017-10-03 08:50:49 [System] debug Exception constructed: No such file or directory (/usr/src/packages/BUILD/src/qpid/sys/epoll/EpollPoller.cpp:357)
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            gerald38 Gerald Guillaume
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: