cshannon commented on PR #1198:
URL: https://github.com/apache/activemq/pull/1198#issuecomment-2047625950

   @thezbyg - That is interesting, I do not see that happen when testing some 
of the Java STOMP tests we have but it could depend on the client. Regardless, 
that processConsumerControl() method has a bug and should be fixed I think and 
applies to really any protocol that might send it (even OpenWire if updating 
prefetch). 
   
   The purpose of that lookup is to wake up an existing destination for 
dispatching. So in this case really we just want to be looking up and not 
creating. This is an edge case because normally the consumer control would not 
be sent if the consumer hadn't already subscribed and created the destination, 
so obviously wildcards break this if not already created.
   
   For a fix I think there's 2 options. One is to simply never create a 
destination in that method, just look up existing but I wonder if that could 
expose unintended bugs. Option 2 is probably safer and that is just to apply 
similar logic that exists in the `addConsumer() ` method where if it's a normal 
destination keep the current behavior, but if it's a pattern/wildcard we just 
do a lookup only and skip if not found.
   
   I can work on a PR for option 2, should be a simple fix and I think makes 
the most sense. I will likely open up a new JIRA since this isn't related to 
authorization or producing as the original Jira describes.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to