Uploaded image for project: 'AMQ Broker'
  1. AMQ Broker
  2. ENTMQBR-897

Openwire client/protocol issues with special characters in destination name

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Obsolete
    • Icon: Major Major
    • None
    • AMQ 7.0.3.GA, AMQ 7.1.0.GA
    • openwire-protocol
    • None
    • Documentation (Ref Guide, User Guide, etc.), Release Notes, Compatibility/Configuration
    • Currently AMQ OpenWire JMS clients cannot access queues and address that include the following characters in their name: comma (','), hash ('#'), greater than ('>'), and whitespace.
    • Documented as Known Issue
    • Workaround Exists
    • Hide

      Do not use these special characters in queue/address names with Openwire client. ',', '#', '>' and whitespace and should not be used for address and queue names

      Show
      Do not use these special characters in queue/address names with Openwire client. ',', '#', '>' and whitespace and should not be used for address and queue names

      1) Openwire client can't send or receive to destination with comma in it. Somehow it splits address into two parts based on ','.

      java  -jar /var/dtests/node_data/clients/aoc7.jar sender  --timeout 5 --log-msgs dict --broker tcp://localhost:61616 --conn-username admin --conn-password admin --address 'address_,_name' --count 1
      
      19:44:08,612 ERROR Error while sending a message!
      javax.jms.InvalidDestinationException: Cannot publish to a non-existent Destination: queue://_name
      

      2) Same as 1) but special symbol is "?"

      java  -jar /var/dtests/node_data/clients/aoc7.jar sender  --timeout 5 --log-msgs dict --broker tcp://localhost:61616 --conn-username admin --conn-password admin --address address_?_name --count 1
      
      19:49:39,031 ERROR Error while sending a message!
      javax.jms.InvalidDestinationException: AMQ119017: Queue address_ does not exist
      

      3) Receiver client can't "decode?" properly ">" symbol.
      Sender sends message to queue correctly, but receiver "translates" ">" into hash "#" and fails to connect to given destination.

      java  -jar /var/dtests/node_data/clients/amqx.jar  queue --host localhost:1099 --action add --name queue_\>_name --address address_\>_name
      java  -jar /var/dtests/node_data/clients/aoc7.jar sender  --timeout 5 --log-msgs dict --broker tcp://localhost:61616 --conn-username admin --conn-password admin --address address_\>_name --count 1
      java  -jar /var/dtests/node_data/clients/aoc7.jar receiver  --log-msgs dict --broker tcp://localhost:61616 --conn-username admin --conn-password admin --address address_\>_name::queue_\>_name --count 1
      
      [2017-10-30 11:05:09,200] [INFO] dtestlib.Test :: stdout:
        11:08:23,313 ERROR Exception while consuming message!
      [2017-10-30 11:05:09,200] [INFO] dtestlib.Test :: stderr:
        javax.jms.InvalidDestinationException: Destination doesn't exist: address_#_name::queue_#_name
        	at org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession.createConsumer(AMQSession.java:166)
      

      4) "blank" character (ascii_symbol_code 32) as prefix and suffix is treated as whitespace and removed from destination name.
      If blank character is used as "infix" it works ok, but most probably because it is treated as whitespace (space) character.

      java  -jar /var/dtests/node_data/clients/aoc7.jar sender  --timeout 5 --log-msgs dict --broker tcp://localhost:61616 --conn-username admin --conn-password admin --address queue_name_\  --count 1
      
      [2017-10-30 11:40:27,127] [INFO] dtestlib.Test :: stdout:
        11:43:41,358 ERROR Error while sending a message!
      [2017-10-30 11:40:27,127] [INFO] dtestlib.Test :: stderr:
        javax.jms.InvalidDestinationException: AMQ119017: Queue queue_name_ does not exist
      JAMQConfigurationAutoGen777Tests/test_queue_prefix_blank (69): FAIL
      JAMQConfigurationAutoGen777Tests/test_queue_suffix_blank (102): FAIL
      

      All of these issues are not present in AMQP or Core protocols. All have been tested with appropriate JMS clients.

              rh-ee-ataylor Andy Taylor
              mtoth@redhat.com Michal Toth
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: