Hi everyone,
We’ve just released NServiceBus.Transport.Msmq 2.0.4.
Fixed bugs
- #700 Delayed delivery does not work when using SqlServerDelayedMessageStore without EnableInstallers
How to know if you are affected
You are affected if all the following are true:
- You are using NServiceBus.Transport.Msmq 2.0.0, 2.0.1, 2.0.2, or 2.0.3.
- You are using SqlServerDelayedMessageStore for delayed delivery
- You are not running installers during endpoint startup
Symptoms
Delayed messages are not delivered and the following error is logged:
NServiceBus.Transport.Msmq.DelayedDelivery.DueDelayedMessagePoller[0]
Failure during timeout polling.
System.InvalidOperationException: BeginExecuteReader: CommandText property has not been initialized
at System.Data.SqlClient.SqlCommand.ValidateCommand(String method, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
at System.Data.SqlClient.SqlCommand.BeginExecuteReaderInternal(CommandBehavior behavior, AsyncCallback callback, Object stateObject, Int32 timeout, Boolean inRetry, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.BeginExecuteReaderAsync(CommandBehavior behavior, AsyncCallback callback, Object stateObject)
at System.Threading.Tasks.TaskFactory`1.FromAsyncImpl[TArg1](Func`4 beginMethod, Func`2 endFunction, Action`1 endAction, TArg1 arg1, Object state, TaskCreationOptions creationOptions)
at System.Threading.Tasks.TaskFactory`1.FromAsync[TArg1](Func`4 beginMethod, Func`2 endMethod, TArg1 arg1, Object state)
at System.Data.SqlClient.SqlCommand.ExecuteReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at NServiceBus.SqlServerDelayedMessageStore.<FetchNextDueTimeout>d__15.MoveNext() in /_/src/NServiceBus.Transport.Msmq/DelayedDelivery/Sql/SqlServerDelayedMessageStore.cs:line 140
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at NServiceBus.Transport.Msmq.DelayedDelivery.DueDelayedMessagePoller.<Poll>d__8.MoveNext() in /_/src/NServiceBus.Transport.Msmq/DelayedDelivery/DueDelayedMessagePoller.cs:line 193
When to upgrade
You should upgrade immediately if you are affected by the bug. Otherwise, you should upgrade during your next maintenance window.
Where to get it
You can install NServiceBus.Transport.Msmq 2.0.4 from NuGet.
Please read our release policy for more details.
With thanks,
The team in Particular