activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary Tully (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (AMQ-2771) Side effect from AMQ-2094, server listens on host name address, client connects to localhost with the same URI
Date Fri, 06 Aug 2010 13:53:48 GMT

     [ https://issues.apache.org/activemq/browse/AMQ-2771?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Gary Tully resolved AMQ-2771.
-----------------------------

         Assignee: Gary Tully
    Fix Version/s: 5.4.0
                       (was: 5.4.1)
       Resolution: Fixed

default changed in r982962

> Side effect from AMQ-2094, server listens on host name address, client connects to localhost
with the same URI
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-2771
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2771
>             Project: ActiveMQ
>          Issue Type: Wish
>    Affects Versions: 5.3.0, 5.3.1, 5.3.2
>            Reporter: Przemek Bruski
>            Assignee: Gary Tully
>             Fix For: 5.4.0
>
>         Attachments: BrokerServiceResolveHostTest.java
>
>
> TcpTransport.java contains the following code:
> {code}
>     protected String resolveHostName(String host) throws UnknownHostException {
>         String localName = InetAddress.getLocalHost().getHostName();
>         if (localName != null && isUseLocalHost()) {
>             if (localName.equals(host)) {
>                 return "localhost";
>             }
>         }
>         return host;
>     }
> {code}
> TcpTransportServer.java contains the following code:
> {code}
>         InetAddress addr = InetAddress.getByName(host);
>         try {
>             this.serverSocket = serverSocketFactory.createServerSocket(bind.getPort(),
backlog, addr);
> {code}
> /etc/hosts looks like this:
> {code}
> 127.0.0.1       localhost.localdomain   localhost
> someip       myhostname.mydomain myhostname
> {code}
> Now, if I start server with uri: myhostname.mydomain, the server will listen on someip
but the client started on the same host with the same uri will try connect to localhost (and
fail).
> I know that useLocalHost can be used to avoid it, but silently connecting to localhost
is counterintuitive and does not sound like a valid default behaviour (according to documentation,
using localhost instead of the host name is a workaround, the workaround is now effectively
default behaviour and breaks valid setups that used to work with 5.2).
> This worked fine on 5.2, since the server bound to all interfaces - but fixing this was
obviously the right thing to do.
> Questions:
> 1. Can the default behaviour be changed to one that would work on majority of systems?
> 2. Is the workaround really needed? Maybe it's the local network settings that should
be corrected?
> 3. The debug messages are misleading and probably should be changed:
> [ActiveMQ Task] [FailoverTransport:604] urlList connectionList:[tcp://hostname:54663?wireFormat.maxInactivityDuration=300000]
> [ActiveMQ Task] [FailoverTransport:723] Attempting connect to: tcp://hostname:54663?wireFormat.maxInactivityDuration=300000
> [ActiveMQ Task] [FailoverTransport:764] Connect fail to: tcp://hostname:54663?wireFormat.maxInactivityDuration=300000,
reason: java.net.ConnectException: Connection refused
> In fact, it was the connection to localhost:54663 that was refused.

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


Mime
View raw message