activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jim Gomes (JIRA)" <>
Subject [jira] Commented: (AMQNET-110) WireFormatNegotiator does not negotiate version
Date Tue, 02 Sep 2008 21:19:52 GMT


Jim Gomes commented on AMQNET-110:

I looked at the code, and the NMS client does check the wireformat version.  It requests a
minimum version, and seems to be OK with a higher version.  I would deduce from this implementation
that it is assuming that future versions of OpenWire are backward compatible.  This means
that the client can talk V2, even if the server is talking V3.  However, it won't accept a
reverse scenario where the client wants to only talk V3, but the server can only talk V2.

So, this leaves the question: is it OK for the client to talk V2 to a broker talking V3? 
So far, I have not seen any adverse problems from this scenario.  If anyone knows of any real
or potential problems with this scenario, please write them up.

> WireFormatNegotiator does not negotiate version
> -----------------------------------------------
>                 Key: AMQNET-110
>                 URL:
>             Project: ActiveMQ .Net
>          Issue Type: Bug
>          Components: ActiveMQ Client
>            Reporter: Vadim Chekan
>            Assignee: James Strachan
> Apparently WireFormatNegotiator checks only magic bytes during the
> format negotiation and does not check the version.
> So NMS client V2 talks to ActiveMQ V3.
> 394 [-1211205856] INFO Apache.NMS.Tracer (null) - SENDING:
> WireFormatInfo[ Magic=System.Byte[] Version=2
> MarshalledProperties={CacheEnabled=False, SizePrefixDisabled=False,
> StackTraceEnabled=False, TcpNoDelayEnabled=False,
> TightEncodingEnabled=False} ]
> 395 [-1225606256] DEBUG Apache.NMS.Tracer (null) - Parsing type: 1
> with: Apache.NMS.ActiveMQ.OpenWire.V1.WireFormatInfoMarshaller
> 403 [-1225606256] INFO Apache.NMS.Tracer (null) - RECEIVED:
> WireFormatInfo[ Magic=System.Byte[] Version=3
> MarshalledProperties={CacheEnabled=True, CacheSize=1024,
> SizePrefixDisabled=False, TightEncodingEnabled=True,
> MaxInactivityDuration=30000, MaxInactivityDurationInitalDelay=10000,
> StackTraceEnabled=True, TcpNoDelayEnabled=True} ]
> Please note that even though ActiveMQ claimed V3 protocol, NMS client accepted it.
> According to the current code in WireFormatNegotiator  only magic bytes are checked but
not the version.

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

View raw message