Oracle GlassFish Message Queue 4.4.2 Release Notes

Bugs Fixed in Previous Message Queue 4 Releases

The following sections list bugs that were fixed in their respective releases:

Bugs Fixed in Message Queue 4.4 Update 1

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 Oracle 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 

Bugs Fixed in Message Queue 4.4

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 

Bugs Fixed in Message Queue 4.3

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.

Bugs Fixed in Message Queue 4.2

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.

Bugs Fixed in Message Queue 4.1

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.

Bugs Fixed in Message Queue 4.0

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.