Chapter 5. Fixed issues


  • ENTMQBR-742 - JMS Queues are not being auto-deleted for Openwire and AMQP clients

    Previously, addresses and queues with <auto-delete-addresses> and <auto-delete-queues> set to true were not deleted when AMQ OpenWire JMS clients disconnected from them.

  • ENTMQBR-781 - [Error Codes] same Error Code(s) defined in different places with different reasons

    In previous releases of AMQ Broker, logging error codes were not unique for all broker log messages. The duplicate and conflicting logging error codes are now corrected.

  • ENTMQBR-882 - Standby slave does not announce replication to master when primary slave is down

    This issue occurred in past releases when multiple backup brokers, also referred to as slaves, served a single live (master) broker. In this scenario, if a primary backup broker failed, the secondary backup tried to replicate. But that operation failed, the secondary backup could not take over for the primary backup, and as a result, high-availability was lost. This issue is now resolved.

  • ENTMQBR-914 - [AMQ7, broker startup ] AMQ224000: Failure in initialization: java.lang.IllegalStateException: Cannot find queue with id XXXX

    In previous versions of AMQ Broker, the broker would fail to start if you had an XA transaction in the prepared state, then deleted the queue that this transaction used, and then attempted to restart the broker.

  • ENTMQBR-929 - LDAPLoginModule cannot process referrals

    Previously, the LDAP JAAS login module was unable to handle LDAP referrals, which caused authentication and authorization failures.

  • ENTMQBR-930 - Unable to login with multiple LDAP modules configured

    The commit operation of the LDAP JAAS login module would always return null, resulting in unexpected behavior when multiple instances of the module were configured in the same domain.

  • ENTMQBR-943 - [AMQ7, Openwire, Compression] consuming Openwire compressed bytemessage throws java.util.zip.DataFormatException: incorrect header check

    Previously, when using the OpenWire protocol to send small, compressed ByteMessages that have JMS properties set for a queue, an exception was thrown on the consumer side when it attempted to decompress the message. See the Knowledge Base article on the Red Hat Customer Portal for more details: https://access.redhat.com/solutions/3269061.

  • ENTMQBR-956 - [AMQ7, AMQP, JMX, DeliveringCount] JMX operation listDeliveringMessages() returns empty string when deliveringCount > 0

    In previous releases, the JMX operation listDeliveringMessages() did not return messages that were consumed by an AMQ JMS client in a transaction. The transactional messages are now returned correctly when the JMX operation listDeliveringMessages() is called.

  • ENTMQBR-965 - [AMQ7, openwire, exclusive consumer] AMQ6 OpenWire clients using exclusive consumer do not behave the same with an AMQ 7 broker

    In AMQ 7, setting the maximum number of consumers for a queue to one did not work the same as for an exclusive consumer in AMQ 6. In AMQ 6, using an exclusive consumer means that one consumer will receive all of the messages. Any other consumers are still registered, just not consuming messages. When the current exclusive consumer leaves the queue, another consumer becomes the exclusive consumer.

    Previously in AMQ 7, if you set max-consumers = 1 for a queue, when this limit is reached, the broker returned a AMQ119200 error and did not allow any new consumers to join the queue. This error no longer occurs.

  • ENTMQBR-966 - Unsettled AMQP messages are lost when Receiver Link is opened on remote cluster member

    An issue causing message loss has been fixed in this release. Previously, if messages were sent to a broker using the AMQP address, and the address was not set on the messages, then some of the messages could be lost if they were redistributed.

  • ENTMQBR-967 - [AMQ 7.1.0 CR1.1] Limit non-ssl connection, handshake-timeout not configurable

    Previously, the broker did not disconnect unauthenticated clients. With AMQ Broker 7.2, you can use the configuration parameter handshake-timeout to limit the amount of time that an unauthenticated client can remain connected.

  • ENTMQBR-973 - Incorrect message priority displayed in hawtio console

    When viewing messages in AMQ Console, the message priority is now correct. Before, the message priority incorrectly defaulted to 4.

  • ENTMQBR-1016 - [AMQ7,Hawtio]AMQ 7 hawtio console store users password in browser’s local cache after user get logout

    A security issue has been fixed for AMQ Console. Before, if you logged into AMQ Console, the value of the Password field was visible from local storage in Google Chrome Developer tools.

  • ENTMQBR-1018 - When live-slave fails-back to master, it turns off everything down, even its console

    In high-availability configurations, AMQ Console is now accessible when a slave broker returns control to the master broker. Previously, AMQ Console would become unavailable for the slave broker when it gave control back to the master broker.

  • ENTMQBR-1030 - Restrict directory listings of Hawtio within the web server configuration

    AMQ Console no longer permits access to restricted directory listings.

  • ENTMQBR-1061 - Exception when using LegacyLDAPSecuritySettingsPlugin

    Previously, when using LegacyLDAPSecuritySettingsPlugin, if you specified authorization settings with non-standard, but still valid syntax, you saw an exception. This is because the broker interpreted LDAP search results based on hard-coded key names, not on order. This issue is corrected.

  • ENTMQBR-1130 - Destinations undeployed when master recovers from outage

    When adding destinations to a broker’s configuration file (broker.xml) at runtime, the destinations are now preserved in the configuration file and reloaded if the broker is restarted. Previously, if you added destinations to a broker’s configuration file, the destinations would not be reloaded when the broker was restarted.

  • ENTMQBR-1169 - [AMQ 7, Hawtio, large message] Sending very large messages through Hawtio results in an exception

    Previously, if you used the Hawtio console to send a message exceeding the broker’s internal buffer size, you saw an exception. This issue is corrected. The broker now automatically converts this type of message to a large message and sends it successfully.

  • ENTMQBR-1184 - LargeMessage Produced by AMQP Protocol Can Not Be Consumed By AMQP Protocol

    In previous releases, if the size of an AMQP JMS Object Message was greater than the value specified for the maximum journal record size, an exception was thrown on the broker and the consumer was not able to receive the message. This issue was caused by a problem in the AMQP large message to core message conversion process.

    This issue is fixed and AMQP large messages can be sent and received as usual.

  • ENTMQBR-1461 - AMQP: IndexOutOfBoundsException when dispatching ObjectMessage that was handled as a Large Message

    Previously, if you were using the AMQP protocol with the Qpid JMS client, and you sent a JMS ObjectMessage that was also a large message (larger than the min-large-message-size), an error would occur when the message was consumed. This error no longer occurs.

  • ENTMQBR-1466 - [3 HA pairs] Slave does not become live after master is killed and isolates itself

    The quorum voting protocol has been corrected. Previously, in high-availability configurations consisting of three high-availability pairs with replication, this issue occasionally prevented slave brokers from taking over during a failover event. Instead, the slave broker would become isolated from the broker cluster.

  • ENTMQBR-1500 - Jolokia read request does not fetch all attributes

    Using Jolokia, it is now possible to request all of the attributes for the broker MBean.

  • ENTMQBR-1548 - Implementation of AMQP interceptor is passing a null RemotingConnection reference

    Previously, if you were using the interceptor API with the AMQP protocol, and you implemented the following method, the connection parameter was always null:

    public boolean intercept(AMQPMessage message, RemotingConnection connection)

    Now, the connection parameter is properly set.

  • ENTMQBR-1699 - Cannot set the message content when using ./artemis producer

    Earlier releases of AMQ Broker 7.x did not contain an option to specify the message content when using the ./artemis producer, as the A-MQ 6.x product did. Now, the --message parameter is available and you can use it to specify the content of the message.

  • ENTMQBR-1757 - AMQ Broker throws ERROR if we update the address ANYCAST to MULTICAST or vice-versa in broker.xml

    Previously, if the broker was stopped and the routing type for an existing address with queues was changed in the broker.xml file, the broker would fail to restart. The relevant code for updating the configuration has been modified so that such a configuration change is possible, and even if there is an error deploying the address or queue, the broker will log the error and still start.

  • ENTMQBR-1878 - [AMQ7, broker shutdown, JMX connector] JVM does not exit if connector configured in management-context

    In previous releases, sometimes the broker did not properly close the management context when stopping the broker. The broker would appear to be stopped, but the JVM process never fully exited. Now there are checks to ensure that the management context is always closed when stopping the broker and the JVM process exits, even when a management context connector is configured.

  • ENTMQBR-1880 - Hawtio Artemis tab disappears if we use IE

    The AMQ Console Hawtio plug-in employs the Javascript arrow function, which is not supported by Internet Explorer. When using the AMQ Console, if you click the back or foward arrows in the browser window, the Artemis tab cannot be viewed in the console. To workaround this issue, use a different browser or use the navigation tools in the console application itself.

  • ENTMQBR-1958 - Queue preference changes to display columns not persistent through page refresh

    Refreshing the AMQ Console caused changes to the default column lists of tabs to be lost. To maintain your settings, you had to refrain from refreshing the browser window. Now column list preferences are stored and reused each time you access a page and refreshing the browser does not cause settings to be lost.

  • ENTMQBR-1995 - Enabling TRACE-level logging in the broker leads to ConcurrentModificationException and failed operations

    In previous releases, multiple threads could concurrently modify a message’s properties. This resulted in WARN messages in the log when TRACE-level logging was enabled. Now, concurrent access to message properties is done safely and the WARN messages in the log related to this issue no longer occur.

  • ENTMQBR-2011 - Consumer of store-forward internal queues get dropped when syncing large messages

    Using temporary destinations in a clustered environment caused messages to get dropped from store and forward queues when clustering messages between brokers. As a result, the broker was not able to distribute messages across cluster nodes and needed to be restarted. Now you can safely use temporary destinations in a clustered environment.

  • ENTMQBR-2014 - AMQ7: io.netty.handler.codec.DecoderException: java.lang.NullPointerException in broker log

    When a client connected by using an unrecognized protocol, a NullPointerException with full stack-trace was logged. Now the AMQ Broker detects and handles unrecognized protocols more gracefully and a proper ERROR message is logged.

  • ENTMQBR-2024 - Broker ignores client requests for advisory consumers when advisory messages are disabled

    In prior releases, when advisory messages were disabled on the broker, the broker ignored client requests to create advisory consumers and made no record of these consumers. If clients attempted to query these consumers, you saw an exception. This issue is corrected. The broker now creates records of advisory consumers when clients request them, and subsequent operations are successful.

  • ENTMQBR-2052 - Message load balancing off, unable to send messages to queue on other nodes instead of subscribed consumer

    In releases prior to AMQ Broker 7.2.3, a recursive call would result in a StackOverflowError error message in certain conditions when message load balancing was set to OFF. As a result, the broker would not receive messages sent from clients. In AMQ Broker 7.2.3, a verification step has been added to ensure that a recursive call will not become infinite. Now, brokers receive any message sent by a client even when message load balancing is set to OFF.

  • ENTMQBR-2055 - [Hawtio] console display blank ClientID for the core client

    When using releases prior to AMQ Broker 7.2.3 with AMQ Console, the field named Client ID was not populated when viewing a AMQ Core Protocol JMS Client connection for a producer or consumer. Now, the value of Client ID is visible in AMQ Console for AMQ Core Protocol JMS Client connections.

  • ENTMQBR-2074 - Retry from DLQ and Expiry Queue is broken on web console (Hawtio)

    Previously, the broker ignored messages retried for delivery from the DLQ. These messages instead stayed on the DLQ. This issue is corrected. The broker now correctly adds redelivered messages from the DLQ to the original queue.

  • ENTMQBR-2086 - [AMQ 7, JMS Selectors] JMS Selectors broken in some cases

    With each supported protocol, fields such as JMSXGroupID or AMQGroupID were not properly parsed by the filter parser. As a result, you could not create a filter using any query that used those field names. To correct this issue, wrappers to parse these pseudo-fields were implemented and now filters correctly parse the input.

  • ENTMQBR-2100 - AMQ 7.2.1: under heavy load: org.apache.activemq.artemis.core.paging.cursor.NonExistentPage: Invalid messageNumber passed

    While a receiving transaction is committed to a paging operation, if the page is complete, a transaction operation deletes it. Previously, the transaction operation might delete the page before the receiving transaction could access it. This caused the receiving transaction to fail to find a message. In this case, you saw an exception. This issue is now resolved.

  • ENTMQBR-2117 - [AMQ7,Hawtio] Unable to delete queue with single quote from Hawtio console

    In prior releases, if you used the Hawtio console to delete a message containing a single quote, the broker did not successfully delete the message. This issue is now corrected.

  • ENTMQBR-2177 - Allow deleting temporary destination when originating session is closed

    Previously, if you used the JMS API to delete a temporary destination when the originating session was already closed, the operation seemed to be successful, when it was not. This issue is now corrected.

  • ENTMQBR-2325 - JMSBridge fails to stop after throwing an error

    Previously, a JMS bridge between JBoss EAP and a broker not using Artemis Core Protocol produced an exception while stopping if the broker was already stopped. As a result of this exception, neither the EAP server nor the JMS bridge could successfully stop. This issue is now resolved.

  • ENTMQBR-2326 - JMSBridge fails to stop

    Previously, a JMS bridge between JBoss EAP and a broker not using Artemis Core Protocol produced an exception while stopping. As a result of this exception, neither the EAP server nor the JMS bridge could successfully stop. This issue is now resolved.

  • ENTMQBR-2333 - Temporary Queue Address Leak In Clustered Configuration

    Previously, if a temporary queue was replicated across cluster nodes, closing connections to the temporary queue on a given node did not purge the server resources associated with the queue. In other words, the queue had an address leak. This issue is resolved. You can now use the address-queue-scan-period parameter to specify how often the broker scans queues for potential deletion.

For additional details about issues resolved in maintenance releases, see the following articles:

Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.