NServiceBus.Transport.Msmq 1.0.1 and NServiceBus 6.5.5 - Critical releases available

Hi Everyone,

We’ve just released NServiceBus.Transport.Msmq 1.0.1 and NServiceBus 6.5.5. This release resolves a critical bug when using the MSMQ transport. The bug causes excessive logging to MSMQLOG.BIN which can result in excessive disk IO. Message processing is unaffected, there is no message loss, or data corruption but disk performance could be affected.

MSMQ writes errors to this binary file including IO timeouts. The default time to check for messages in the queue was previously set to 10 milliseconds and this value caused excessive MSMQ logging (100 entries per queue per second).

A test with 100 idle endpoints showed a write I/O of +8MB/s on the MSMQLOG.BIN file which is reduced to less then 150KB/s after this fix.

Critical Fixes

  • #77 MSMQ Transport results in unnecessary IO when reading from empty queues due to a very short timeout value
  • #5349 MSMQ Transport results in unnecessary IO when reading from empty queues due to a very short timeout value

How to know if you’re affected

All MSMQ users with large numbers of endpoints on a single server are affected.

Symptoms

The MSMQLOG.BIN file is an MSMQ system file used for logging in binary. I/O on this file is visible in server resource monitoring. When many endpoints are hosted server metrics can indicate several megabytes per second of I/O although queues are empty and endpoints not processing any messages.

Should you upgrade immediately

Users affected by excessive disk I/O should upgrade immediately, others are recommended to upgrade when convenient as message processing is unaffected, there is no message loss or data corruption.

If after deploying this fix excessive disk I/O on the MSMQLOG.BIN file is still observed while endpoints are idle then please contact us at support@particular.net.

Where to get it

You can download the updated version directly from NuGet:

With thanks,
The team in Particular

Please read our release policy for more details. Follow @ParticularNews to be notified of new releases and bug fixes.