Github user gemmellr commented on a diff in the pull request:

    https://github.com/apache/activemq-artemis/pull/2490#discussion_r245955337
  
    --- Diff: 
artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/wireformat/SessionCreateConsumerMessage.java
 ---
    @@ -104,6 +119,11 @@ public void decodeRest(final ActiveMQBuffer buffer) {
           filterString = buffer.readNullableSimpleString();
           browseOnly = buffer.readBoolean();
           requiresResponse = buffer.readBoolean();
    +      if (buffer.readableBytes() > 0) {
    --- End diff --
    
    I assume this is to allow for old clients that don't send this value. Would 
a more specific version check be clearer here for later reference? Related, I'm 
guessing other changes already made for 2.7.0 have updated the version info 
since it doesn't look to change here?
    
    Also, is the reverse case safe, does an older server failing to read the 
additional value (seemingly always sent now) have potential to lead to any 
issues on older servers, i.e how might the buffer continue to be used later if 
at all? Should the client omit the value for older servers? (Or does the 
presumed version change prevent the new client working with the old server 
anyway? I don't know how that stuff is handled, just commenting from reading 
the diff here).


---

Reply via email to