Workflow Manager 1.0 CU3

Hello Folks,

I have noticed recently we have released Cumulative Update 3.0 for Workflow Manager 1.0 at 30/12/2015
https://support.microsoft.com/en-us/kb/3104066

Important :
– For a prerequisite Service Bus 1.1 for Windows Server must be installed on the computer.
-You may have to restart the computer after you apply this cumulative update.

Some info on how to install the hotfix:
1. Install workflowmanagerclient_x64.msi first
2. Then install workflowmanager-kb3104066-x64.exe

After installing the fixes, open the workflow manager powershell and run these commands.
1. stop-sbfarm on any one server
2. start-sbfarm on any one server
3. stop-wfhost on each server
4. start-wfhost on each server

Issues that are fixed in this cumulative update

Issue 1:
The workflow manager back-end service crashes intermittently, and you may experience the following exception:

System.AggregateException: One or more errors occurred. —> System.Net.ProtocolViolationException: Cannot send a content-body with this verb-type.
at Microsoft.Workflow.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)
at Microsoft.Activities.Hosting.HostedHttpExtension.HttpRequestWorkItem.HttpRequestWorkItemAsyncResult.End(IAsyncResult result, Int32& responseCode)
at Microsoft.Activities.Hosting.HostedHttpExtension.HttpRequestWorkItem.OnEndComplete(ScheduledWorkItemContext context, IAsyncResult result)
at Microsoft.Activities.Hosting.ScheduledWorkItem.EndComplete(ScheduledWorkItemContext context, IAsyncResult result)
at Microsoft.Activities.Dispatcher.DispatchLoopInstanceAsyncResult.SingleNonTransactionalWorkItemComplete(IAsyncResult result)
—End of inner exception stack trace —
at Microsoft.Activities.Dispatcher.DispatchLoopInstanceAsyncResult.UpdateNonTransactionalWork()
at Microsoft.Activities.Dispatcher.DispatchLoopInstanceAsyncResult.Isolate(AsyncCompletion callback, IAsyncResult result)
at Microsoft.Activities.Dispatcher.DispatchLoopInstanceAsyncResult.SingleNonTransactionalWorkItemComplete(IAsyncResult result)
— End of inner exception stack trace —
at Microsoft.Activities.Dispatcher.DispatchLoopInstanceAsyncResult.UpdateNonTransactionalWork()
at Microsoft.Activities.Dispatcher.DispatchLoopInstanceAsyncResult.Isolate(AsyncCompletion callback, IAsyncResult result)
at Microsoft.Activities.Dispatcher.DispatchLoopInstanceAsyncResult.SingleNonTransactionalWorkItemComplete(IAsyncResult result)

Issue 2:
The workflow manager back-end service crashes intermittently with the following exception:

System.ArgumentException: An item with the same key has already been added.
at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)
at Microsoft.Activities.Dispatcher.DispatchLoopInstanceAsyncResult.ProcessWaiter()
at Microsoft.Activities.Dispatcher.DispatchLoopInstanceAsyncResult.ProcessMatch(Boolean consumeInput)
at Microsoft.Activities.Dispatcher.DispatchLoopInstanceAsyncResult.StartEpisode()
at Microsoft.Activities.Dispatcher.DispatchLoopInstanceAsyncResult.ReceiveNextMessage()
at Microsoft.Activities.Dispatcher.DispatchLoopInstanceAsyncResult.UpdateNonTransactionalWork()
at Microsoft.Activities.Dispatcher.DispatchLoopInstanceAsyncResult.ProcessNonTransactionalWork()
at Microsoft.Activities.Dispatcher.DispatchLoopInstanceAsyncResult.ProcessWaiter()
at Microsoft.Activities.Dispatcher.DispatchLoopInstanceAsyncResult.ProcessMatch(Boolean consumeInput)
at Microsoft.Activities.Dispatcher.DispatchLoopInstanceAsyncResult.StartEpisode()
at Microsoft.Activities.Dispatcher.DispatchLoopInstanceAsyncResult.ReceiveNextMessage()
at Microsoft.Activities.Dispatcher.DispatchLoopInstanceAsyncResult.UpdateNonTransactionalWork()
at Microsoft.Activities.Dispatcher.DispatchLoopInstanceAsyncResult.Isolate(AsyncCompletion callback, IAsyncResult result)   at Microsoft.Activities.Dispatcher.DispatchLoopInstanceAsyncResult.ExceptionHandlingFrame(IAsyncResult result)

Issue 3:
The workflow manager back-end service crashes intermittently with the following exception:

System.ArgumentNullException: Value cannot be null.
Parameter name: key
at System.Collections.Generic.Dictionary`2.FindEntry(TKey key)
at System.Collections.Generic.Dictionary`2.TryGetValue(TKey key, TValue& value)
at Microsoft.Activities.Hosting.InputWaiterTable.InternalMatch(EventTraceActivity traceActivity, DateTime now, MessageDispatchProperties input, Guid currentInstanceId, Boolean removeWaiter, Guid currentSuspensionId, Boolean& consumeInput)
at Microsoft.Activities.Dispatcher.DispatchLoopInstanceAsyncResult.StartEpisode()   at Microsoft.Activities.Dispatcher.DispatchLoopInstanceAsyncResult.ReceiveNextMessage()

Issue 4:
The workflow manager back-end service crashes intermittently with the following exception:

System.ArgumentException: An item with the same key has already been added.
at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)
at Microsoft.Activities.Dispatcher.DispatchLoopInstanceAsyncResult.ProcessWaiter()
at Microsoft.Activities.Dispatcher.DispatchLoopInstanceAsyncResult.Isolate(AsyncCompletion callback, IAsyncResult result)
at Microsoft.Activities.Dispatcher.DispatchLoopInstanceAsyncResult.ExceptionHandlingFrame(IAsyncResult result)

Issue 5:
The restore scope operation fails, and you experience a unique key violation error as follows:

Restore-WFScope : Cannot insert duplicate key row in object ‘dbo.Activities’
with unique index ‘IX_Activities_Name_Version’. The duplicate key value is
(fef3537a-eefe-1340-5d86-335e62409f9c, IsEqualUser, 1).
The statement has been terminated.At C:\restoreScope.ps1:12 char:1

Issue 6:
Workflow manager front end can’t report notification errors if a workflow notification message contains properties differ only in case. Instead, it emits the following exception in the event log:

System.ArgumentException: An item with the same key has already been added.
at Microsoft.Workflow.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)
at Microsoft.Workflow.Gateway.HttpAsyncResult.End[TAsyncResult](IAsyncResult result)
at Microsoft.Workflow.Gateway.PublishWorkflowEventAsyncResult.End(IAsyncResult result)
at Microsoft.Workflow.Gateway.WorkflowServiceGateway.ExceptionFilter[T](Func`1 body)   at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)

Issue 7:
Instance is suspended instead of terminated if a non-transaction (Http) work item throws an exception.

Issue 8:
Enables WFM client to let you control retry behavior on http requests. You can add retry logic in the error handler on publish notification failures in WFM client.

Issue 9:
Fixes the Set-WFCertificate command to enable users to update outgoing signing certificate thumbprint in WFM farm configuration.

Issue 10:
Fixes transaction leaks that are caused by stored procedure execution failures on workflow manager front end when you publish a workflow.