activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dhiraj Bokde (JIRA)" <>
Subject [jira] [Created] (AMQ-5074) MQTT paths with empty levels are not handled correctly
Date Fri, 21 Feb 2014 17:53:22 GMT
Dhiraj Bokde created AMQ-5074:

             Summary: MQTT paths with empty levels are not handled correctly
                 Key: AMQ-5074
             Project: ActiveMQ
          Issue Type: Bug
          Components: MQTT
    Affects Versions: 5.9.0
            Reporter: Dhiraj Bokde
             Fix For: 5.10.0

MQTT allows empty "" names for path levels, for example /TopicA has two levels, "" and TopicA,
similarly TopicA/ has two levels TopicA and "". The leading and trailing '/' in MQTT is significant.

The '/' character in MQTT paths and filters is mapped to '.' in ActiveMQ, which leads to names
like '.TopicA' and 'TopicA.'. However, ActiveMQ ignores empty path levels, although, they
are just as significant for ActiveMQ. Although these path names are not common in ActiveMQ,
which maybe the reason why the issue hasn't been discovered until now. 

ActiveMQ needs to treat empty levels as significant, and pattern match accordingly. This requires
change to ActiveMQDestination.getDestinationPaths() and some code cleanup in DestinationMap
related classes and Destination filtering classes. A patch is attached (along with unit tests)
to address this issue. 

This message was sent by Atlassian JIRA

View raw message