Message Queue 4.4 Update 1 includes new bug fixes and also incorporates bugs that were fixed in the previous releases in the Message Queue 4.x family.
The following sections list bugs that were fixed in their respective releases:
The following table describes the bugs fixed in Message Queue 4.4 Update 1. Some of these issues are marked with “(OpenMQ)”, which indicates the issue was fixed in the Open Message Queue open source project upon which Sun GlassFish Message Queue is based.
Table 1–7 Bugs Fixed in Message Queue 4.4 Update 1
Bug |
Description |
---|---|
6590909 |
DIRECT mode MDB does not connect to remote broker when addresslist is overridden |
6616704 |
Broker memory growth when many consumers created within a Session |
6745761 |
XAResource.isSameRM() should return true when two connections used in same XA TX (with JMSJCA) |
6745763 |
XAResource.isSameRM() should return true when two connections used in same XA TX (JMSRA DIRECT mode) |
6745768 |
XAResource.isSameRM() should return true when two connection used in same XA TX (JMSRA LOCAL/REMOTE) |
6760450 |
Message store getting corrupted if the machine is rebooted without stopping the MQ (GF) instance |
6766241 |
UMS: SendMsg.html AJAX example uses /ums as default context root. It should use /imqums |
6766852 |
DirectXAResource translates broker CONFLICT status to "TxID is already in use" |
6799428 |
Non-persistent messages/Non-durable deposited messages in DMQ cannot be consumed but browsable. |
6799428 |
Non-persistent messages/Non-durable deposited messages in DMQ cannot be consumed but browsable. |
6809353 |
openmq 4.3 HA with posgtresql (8.1) doesn't work (imqbrokerd can't start ) |
6809750 |
Connection pooling (from JMSRA) for clientId connection does not work. |
6812198 |
Classcast exception thrown when monitoring using MQ topic metrics |
6832000 |
MQ reapExcessConnection JDBC connection runs into HIGH CPU spin |
6833109 |
MQClusterMonitor JMX Sample application throws Exception on AIX with JDK6 |
6835420 |
Default value of NoGCDefault calculated incorrectly. May cause excessive GC when memory is low. |
6852018 |
Error message "Cannot add durable consumer {0}. No ClientID was set on connection." is misleading |
6856991 |
NullPointerException after broker restarts then rollback a durable consumer PREPARED transaction |
6874125 |
WARNING: MQJMSRA_DC2001: connectionId=555670328604044289:_destroy():called on a connection... |
6878945 |
RFE: JMSBridge: allow specify username/password to create connection from connection-factory |
6881493 |
Admin temporary destinations should not be stored for HA broker |
6881753 |
RFE JMSBridge: allow tag each message with the jmsbridge name before transfer to target |
6884673 |
MQ 4.4 Broker could not establish cluster connection with MQ 3.7/3.6 Broker |
6886390 |
Persist/Txn published msgs went to DMQ can cause mq.sys.dmq not found err when consume them from DMQ |
6886515 |
AccessControlException when using JMX to delete a destination in an embedded broker |
6890628 |
setting the broker property "imq.autocreate.destination.isLocalOnly=true" has no effect |
6891615 |
Selector does not always work when running broker 4.3 in glassfish |
6891624 |
Msgs 'Remote' can become higher than 'Count' in 'imqcmd list dst' |
6891629 |
need user-friendly message when arithmetic exeception occurs in selector |
6891717 |
ifimq.transaction.autorollback=true,autorollback PREPARED ack not clear cause TransactionAckExistEx |
6891802 |
"[B4061]:Can not use Transaction ID..currently in use"on broker restart after takeover remote tx ack |
6892512 |
Memory Leak: Temporary Destinations are not removed from connection when tempDest.delete() is called |
6895040 |
if masterbroker has temp dest,slave broker fail get uidprefix on start after uidprefix lock timeouts |
6896230 |
new consumer created on masterb while masterb restart after sync/w slaves maynot propagate to all |
6896764 |
equals method on TransactionAcknowledgement is incorrect. |
6898355 |
takeover lock reseted in cluster managr init on broker restart without waiting for takeover complete |
6901405 |
RFE: log JDBC vendor information and vendor properties if specified |
16 (OpenMQ) |
Selector does not always work when running broker 4.3 in glassfish |
17 (OpenMQ) |
openmq 4.3 HA with posgtresql (8.1) doesn't work (imqbrokerd can't start ) |
22 (OpenMQ) |
installer references non existing binary and fails |
25 (OpenMQ) |
Memory leak when creating TemporaryTopic. |
29 (OpenMQ) |
Broker Isolation |
30 (OpenMQ) |
Msgs 'Remote' can become higher than 'Count' in 'imqcmd list dst' |
31 (OpenMQ) |
need user-friendly message when arithmetic exc. occurs in selector |
32 (OpenMQ) |
fix for int-> long overflows |
33 (OpenMQ) |
OpenMQ installer: "Invalid SwiXML Descriptor" error when ran under ja locale |
The following table describes the bugs fixed in Message Queue 4.4.
Table 1–8 Bugs Fixed in Message Queue 4.4
Bug |
Description |
---|---|
6242247 |
MQ cluster with masterbroker startup and hangs if both broker is on same machine have same name |
6760937 |
Broker does not reconnect to the DB if it is restarted |
6763252 |
broker should log a meaningful message than NPE when ack a message that has been expired/removed |
6765410 |
masterbroker sends local interests 2 times cause slave exception Durable subscription already active |
6796506 |
remote PREPARED msg not redelivered after rollback in case timeout in receiving remote PREPARE reply |
6807708 |
TemporaryDestination.delete fail if master broker is not running |
6812037 |
RFE: pass MQ_CALLBACK_RUNTIME_ERROR to afterMessageDelivery if MQMessageListenerFunc returns error |
6812755 |
FINE level log message should be WARNING if before/afterMessageDelivery callbacks return error |
6816023 |
Message.setStringProperty() exception does not show property name on Illegal character exception |
6819095 |
RFE: cluster should support setting input/output stream buffer size and TcpNoDelay |
6820585 |
'imqcmd list txn' does not show COMMITTED cluster transactions waiting for remote broker completion |
6820588 |
a cluster transaction that consume both local and remote messages stay as COMMITTED in waiting state |
6821639 |
NPE on rollback/commitTransaction during AS recovery for MQRA-DIRECT mode |
6823364 |
RFE: upgrade C-API compiler to Sun Studio 12 on Solaris |
6829113 |
ConcurrentModificationException when Tuxedo TM rollback timed out transaction under heavy load |
6832197 |
non-transacted remote ack should not wait for remote reply if client does not ask for ackack |
6834735 |
confusing log msg "Unexpected Broker Interal Error" when Tuxedo TM timeout a txn in START state |
6836364 |
wildcard subscriber does not receive remote msg if its topic is created before subscriber |
6836691 |
HA(JCAPS):msg already been removed exception on receive after XA receiver rollback then commit a msg |
6836749 |
HA(JCAPS):ack exists in store exception on receive after 1 of durables rollback then commit a msg |
6837671 |
HA(JCAPS):endless redeliver a committed message when XAResourceImpl.rollback after a success commit |
6839193 |
RFE: upgrade C++ compiler to Visual Studio 2008 SP1 |
6845625 |
broker entering low memory state when remote consumers repeatly created/closed |
6852207 |
NPE on sending msg to remote broker causes remote broker "unable to process message" on read msg pkt |
6853822 |
confusing exception message "Cannot perform operation END_TRANSACTION" when end a FAILED txn |
6854142 |
"Waiting for cluster connection" "Closed cluster connection" to remote broker every 3 minutes |
6858121 |
confusing WARNING 'Unknow transaction' in broker log on 'imqcmd list txn' if remote txn exists |
6858488 |
COMMITTED txn not removed from txn home broker if remote participant broker removed its COMMITTED tx |
6858905 |
ConcurrentModificationException in Consumer.destroyConsumer |
6861362 |
RFE: JMSBridge: support auto-map target destination to source Message.getJMSDestination |
6861528 |
RFE: JMSBridge: allow MessageTransformer.transform() branch msg to a different destination in target |
6861653 |
excessive cluster txn info sent to COMMIT incomplete down remote broker under high txn load |
6862413 |
confusing log message "mq://xxx.xxx.xx.xx:pppp/ ..." is reachable within 60 seconds" |
6863867 |
MissingResourceException on HA broker restarts if has pending COMMITTED from a down remote broker |
6867596 |
recovered PREPARED txn after broker restart return backto PREPARED state if broker restart again |
6868525 |
NullPointerException on forwarding temporary destination to remote broker on link establishment |
6868578 |
some broadcast/unicast no check if a link established interferes/w link handshake cause link down |
6871612 |
HA:log msgs"Cant notify transaction.completion.."when consume remote msgs if the pending broker down |
6886391 |
NullPointerException on acknowledge message if message has been removed already |
The following table describes the bugs fixed in Message Queue 4.3.
Table 1–9 Bugs Fixed in Message Queue 4. 3
Bug |
Description |
---|---|
6634033 |
Cluster protocol does not propagate value of imqConsumerFlowLimit to remote brokers when a client is created. |
6713012 |
Destruction of a consumer on a broker in a cluster at the same time that a remote broker is being restarted can result in some messages not being delivered. |
6727555 |
Broker log message "Max bytes per msg exceeded" has the actual message size and the max bytes per message values switched. |
6737404 |
JMX metrics need to provide counts of messages dispatched from destinations (topics and queues) but yet to be delivered to consumers. |
6740568 |
Broker throws an exception when consuming too many messages in a single transaction. |
6758524 |
The command to list durable subscriptions (imqcmd list dur -d "foo.*") does not accept wildcard characters in the destination name. |
6758952 |
Setting imq.portmapper.hostname=localhost causes brokers to be unable to connect into a cluster. |
6758817 |
Setting imq.cluster.hostname=localhost (not recommended) causes brokers on different machines to be unable to connect into a cluster. |
The following table describes the bugs fixed in Message Queue 4.2.
Table 1–10 Bugs Fixed in Message Queue 4.2
Bug |
Description |
---|---|
6581592 |
When the installer or uninstaller is run in text mode (installer –t), the Summary screen shows the directory containing the log/summary files but does not list the names of these files. |
6585911 |
The installer's JDK Selection screen incorrectly includes the JRE bundled with the installer and used to run the installer. |
6587112 |
The installer summary screen shows garbage in multi-byte locales. |
6587127 |
When running the installer by referencing an answer file (installer -a filename -s), if the answer file does not exist, the error messages are inconsistent and unclear. |
6590969 |
Allows DN username format in client connection authentication. |
6594381 |
Installation of Message Queue 4.1 localization RPM's (which happens when you select the “Install Message Queue multilingual packages” checkbox on the Multilingual Packages screen) will fail if older versions of Message Queue localization RPM's exist on your system. |
6599144 |
When uninstalling Message Queue 4.2, splash screen and uninstaller hangs and screens appear empty and gray on Java SE 6, but work on Java SE 5. |
6615741 |
Message delivered in a transacted consumer session that is rolled back is not redelivered if the original consumer closed before rollback. |
6629922 |
Distributed transaction handler does not redeliver message to inactive consumer in correct order. |
6635130 |
Broker fails to notify producer of non persistent messages to resume production after having been paused because destination had reached memory or message limits. |
6641117 |
Message delivered in a transacted consumer session that is rolled back is not redelivered if the original consumer closed after rollback. |
6683897 |
Message Queue installer's summary screen reports configuration error even though configuration appears to complete successfully: installer cannot write to /dev/sterr on some computers. |
6684069 |
In broker cluster in which large number of messages are delivered to remote client in consumer transaction, commit transaction fails. |
6688935 |
Default value of Portmapper read timeout is too small. |
6695238 |
C-client applications cannot connect to a broker installed in a location that has spaces in the path. |
6710168 |
Consumer no longer consumes messages if destination is paused twice without being resumed between the pauses. |
6710169 |
JMX operation ConsumerManagerMonitor.getConsumerInfo always returns SESSION_TRANSACTED for the acknowledgement mode. |
The following table describes the bugs fixed in Message Queue 4.1.
Table 1–11 Bugs Fixed in Message Queue 4.1
Bug |
Description |
---|---|
6381703 |
Transacted remote messages can be committed twice if the broker originating the message restarts. |
6388049 |
Cannot clean up an uncompleted distributed transaction. |
6401169 |
The commit and rollback options for imqcmd do not prompt for confirmation. |
6473052 |
Default for autocreated queues should be round robin. (MaxNumberConsumers = -1). |
6474990 |
Broker log shows ConcurrentModificationException for imqcmd list dst command. |
6487413 |
Memory leak when limit behavior is REMOVE_OLDEST or REMOVE_LOWER_PRIORITY. |
6488340 |
Broker spins, and client waits for reply to acknowledge. |
6502744 |
Broker does not honor the dead message queue's default limit of 1000 messages. |
6517341 |
Client runtime needs to improve reconnect logic when the client is connected to an enhanced broker cluster by allowing the client to reconnect no matter what the value of the imqReconnectEnabled property is. |
6528736 |
Windows automatic startup service (imqbrokersvc) crashes during startup. |
6561494 |
Messages are delivered to the wrong consumer when both share a session. |
6567439 |
Produced messages in a PREPARED transaction are delivered out of order if they are committed after broker restarts. |
The following table describes the bugs fixed in Message Queue 4.0.
Table 1–12 Bugs Fixed in Message Queue 4.0
Bug Number |
Description |
---|---|
4986481 |
In Message Queue 3.5, calling Session.recover could hang in auto-reconnect mode. |
4987325 |
Redelivered flag was set to false for redelivered messages after calling Session.recover. |
6157073 |
Change new connection message to include the number of connections on the service in addition to the total number of connections. |
6193884 |
Message Queue outputs garbage message to syslog in locales that use non-ASCII characters for messages. |
6196233 |
Message selection using JMSMessageID doesn't work. |
6251450 |
ConcurrentModificationException on connectList during cluster shutdown. |
6252763 |
java.nio.BufferOverflowException in java.nio.HeapByteBuffer.putLong/Int. |
6260076 |
First message published after startup is slow with Oracle storage. |
6260814 |
Selector processing on JMSXUserID always evaluates to false. |
6264003 |
The queue browser shows messages that are part of transactions that have not been committed. |
6271876 |
Connection Flow Control does not work properly when closing a consumer with unconsumed messages. |
6279833 |
Message Queue should not allow two brokers to use the same jdbc tables. |
6293053 |
Master broker does not start up correctly if the system's IP address is changed, unless the store is cleared (using —reset store.) |
6294767 |
Message Queue broker needs to set SO_REUSEADDR on the network sockets it opens. |
6304949 |
Unable to set ClientID property for TopicConnectionFactory. |
6307056 |
The txn log is a performance bottleneck. |
6320138 |
Message Queue C API lacks ability to determine the name of a queue from a reply-to header. |
6320325 |
The broker sometimes picks up JDK 1.4 before JDK 1.5 on Solaris even if both versions are installed. |
6321117 |
Multibroker cluster initialization throws java.lang.NullPointerException. |
6330053 |
The jms client throws java.lang.NoClassDefFoundError when committing a transaction from the subscriber. |
6340250 |
Support MESSAGE type in C-API. |
6351293 |
Add Support for Apache Derby database. |