Create a connection can block for up to 4 mins under Linux when TCP socket 
connect() times out
----------------------------------------------------------------------------------------------

                 Key: AMQCPP-168
                 URL: https://issues.apache.org/activemq/browse/AMQCPP-168
             Project: ActiveMQ C++ Client
          Issue Type: Improvement
          Components: CMS Impl
    Affects Versions: 2.1.3
         Environment: CentOS 4
            Reporter: Olivier Langlois
            Assignee: Nathan Mittler
             Fix For: 2.2


With the following code:

        {
                // Create a ConnectionFactory
                std::auto_ptr<cms::ConnectionFactory> pConnectionFactory(
                        cms::ConnectionFactory::createCMSConnectionFactory( uri 
) );
                m_pConnection.reset(pConnectionFactory->createConnection());
                m_pConnection->start();
        }

The call to createConnection() will block for up to 4 mins if the URI is a TCP 
address pointing to an unreachable host.

In my application, the time out interval is way too long. I would like to have 
it set to around 5 sec to 10 seconds.

I could take care of the fix if you want as all that would be needed is make 
the socket non blocking only for the connect() call and manage the time out 
with a select(). The only indication I would need is how you ActiveMQ cms 
architects/designers would like the timeout specified to the API.

Using a new property (ie: "connect-timeout")
hardcoding a small timeout value in TcpSocket
etc...



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to