Hi

Sometimes I find in the log file these errors:
Type A
=ERROR REPORT==== 9-Jan-2012::06:01:49 ===
exception on TCP connection <0.211.5973> from x.x.x.x:54400
{handshake_timeout,handshake}

Type B
=ERROR REPORT==== 9-Jan-2012::03:37:43 ===
exception on TCP connection <0.9443.464> from x.x.x.x:57573
{handshake_timeout,frame_header}

Can you confirm me that:
- those problem mean that the client cannot terminate the handshake protocol? So is It not a problem with the server?
- The hankdshake timeout is something defined at OS level
- it's not clear to me the difference between type A and B

Best Regards
--
Andrea Rosa

Search Discussions

  • Simon MacMullen at Jan 9, 2012 at 5:15 pm

    On 09/01/12 17:07, Rosa, Andrea wrote:
    Hi

    Sometimes I find in the log file these errors:
    Type A
    =ERROR REPORT==== 9-Jan-2012::06:01:49 ===
    exception on TCP connection<0.211.5973> from x.x.x.x:54400
    {handshake_timeout,handshake}

    Type B
    =ERROR REPORT==== 9-Jan-2012::03:37:43 ===
    exception on TCP connection<0.9443.464> from x.x.x.x:57573
    {handshake_timeout,frame_header}

    Can you confirm me that:
    - those problem mean that the client cannot terminate the handshake protocol? So is It not a problem with the server?
    It means the client and server did not complete the AMQP handshake
    before a timeout occurred (10s).
    - The hankdshake timeout is something defined at OS level
    No, it's a rabbit thing - hard coded in rabbit_reader at the moment.
    - it's not clear to me the difference between type A and B
    The difference is in how far it got before the timeout. In type A it got
    almost nowhere - not even the first few bytes ("AMQP\0\0\9\1") got
    through. In type B some connection start frames may have been exchanged.

    You might see type A if people are doing "telnet servername 5672" or
    otherwise connecting and then sending nothing at all. You should only
    see type B if you have a very slow or buggy client I think.

    Cheers, Simon

    --
    Simon MacMullen
    RabbitMQ, VMware
  • Rosa, Andrea at Jan 9, 2012 at 5:31 pm
    Hi Simon

    You might see type A if people are doing "telnet servername 5672" or
    otherwise connecting and then sending nothing at all. You should only
    see type B if you have a very slow or buggy client I think.
    Thanks for your help, it's not clear to me your example, are you saying that if
    there is a connection and then nothing is sent on this connection I can see this timeout error?
    But if the connection has been established why I should have a handshake error?

    Thanks
    --
    Andrea
  • Simon MacMullen at Jan 9, 2012 at 5:34 pm

    On 09/01/12 17:31, Rosa, Andrea wrote:
    Thanks for your help, it's not clear to me your example, are you saying that if
    there is a connection and then nothing is sent on this connection I can see this timeout error?
    Yes. If there is a *TCP connection* and nothing is sent.
    But if the connection has been established why I should have a handshake error?
    If you mean "AMQP connection" then you should never see a handshake
    timeout. If you mean "TCP connection" then failing to establish an AMQP
    connection will cause this.

    Cheers, Simon

    --
    Simon MacMullen
    RabbitMQ, VMware
  • Rosa, Andrea at Jan 10, 2012 at 9:45 am
    Hi Simon

    Thanks for your help, it's not clear to me your example, are you
    saying that if
    there is a connection and then nothing is sent on this connection I
    can see this timeout error?

    Yes. If there is a *TCP connection* and nothing is sent.
    Just a double check this behavior is specific for rabbitmq, because with TCP we can establish a connection and even if nothing is sent there is no timeout exception.

    Thanks
    --
    Andrea
  • Simon MacMullen at Jan 10, 2012 at 10:44 am

    On 10/01/12 09:45, Rosa, Andrea wrote:
    Yes. If there is a *TCP connection* and nothing is sent.
    Just a double check this behavior is specific for rabbitmq, because
    with TCP we can establish a connection and even if nothing is sent
    there is no timeout exception.
    Well the point is that we need to establish an AMQP connection on top of
    the TCP connection. If that process does not complete we want to detect
    it and close the connection.

    This behaviour is not unique to RabbitMQ - take the example of Apache
    and HTTP. If I telnet to an Apache server and do not start sending HTTP,
    I get disconnected. After about ten seconds ;-)

    Once the AMQP connection is actually established it will stay up
    indefinitely (modulo heartbeats).

    Cheers, Simon

    --
    Simon MacMullen
    RabbitMQ, VMware

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouprabbitmq-discuss @
categoriesrabbitmq
postedJan 9, '12 at 5:07p
activeJan 10, '12 at 10:44a
posts6
users2
websiterabbitmq.com
irc#rabbitmq

2 users in discussion

Simon MacMullen: 3 posts Rosa, Andrea: 3 posts

People

Translate

site design / logo © 2022 Grokbase