locked
AppFabric End-To-End Monitoring Causes Workflows to Abort RRS feed

  • Question

  • I have several workflows deployed to an AppFabric 1.1 server which has cumulative update 4 applied. These workflows are invoked via HTTP from an ASP.NET WebAPI front end. We have AppFabric configured for both Persistence and Monitoring to a single SQL Server instance that is installed on another server.

    I am able to invoke these workflows and get the expected responses when the IIS site on the AppFabric server with Application Monitoring Level set to "Off", "Errors Only", or "Health Monitoring". However, if I raise the Application Monitoring Level to "End-to-End Monitoring" or "Troubleshooting", the workflow services fail.

    When I go to AppFabric Dashboard in IIS Manager for the site, I see a new Failure in the WF Instance History and a new Error in the WCF Call History.

    When I go to the WF Instance History Errors list, right-click on the failed instance and select View Tracked Events, I can select the last event and the last tab at the bottom of the screen reads "Errors(1)". Selecting the tab reveals the following error message: "An error occurred while calling tracking participants causing the instance to be aborted. See the inner exception for more details. InnerException Message: The given key was not present in the dictionary."

    When I go back to the AppFabric Dashboard and select WCF Call History Errors list and click on the failure event, the last tab at the bottom of the screen reads "Errors (1)" and the text box contains the follow:

    System.OperationCanceledException: An error occurred while calling tracking participants causing the instance to be aborted.  See the inner exception for more details. ---> System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.

       at System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult result)

       at System.Activities.Hosting.WorkflowInstance.EndFlushTrackingRecords(IAsyncResult result)

       at System.ServiceModel.Activities.Dispatcher.WorkflowServiceInstance.OnEndFlushTrackingRecords(IAsyncResult result)

       at System.Activities.Runtime.WorkItem.OnTrackingComplete(IAsyncResult result)

       --- End of inner exception stack trace ---

       at System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult result)

       at System.ServiceModel.Activities.Dispatcher.ControlOperationInvoker.ControlOperationAsyncResult.End(Object[]& outputs, IAsyncResult result)

       at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeEnd(MessageRpc& rpc)

       at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage7(MessageRpc& rpc)

       at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)

    I have checked all of the connection strings, the AppFabric Services service accounts and everything else I can think of or find in the documentation and can't see anything wrong. I've fixed other problems, but this one remains intractable. Numerous Google searches have turned up absolutely no reference to this problem anywhere on the web.

    Does anyone have any clue where I might look for an answer or, better yet, maybe you know where the answer can be found?

    Any help is greatly appreciated.

    Rick C

    Monday, August 19, 2013 7:48 PM

All replies

  • Hi,

    It seems that your question is more related to WF. You can post your question in wf forums.

    WF forums:
    http://social.msdn.microsoft.com/Forums/en-US/home?forum=wfprerelease .

    Wednesday, August 21, 2013 8:26 AM
  • HI,

    Here is about managing workflow services with windows server appfabric:

    http://www.codeproject.com/Articles/107060/Managing-Workflow-Services-with-Windows-Server-App

    http://msdn.microsoft.com/en-us/library/ff729689.aspx

    Thursday, August 22, 2013 1:09 AM
  • This project inadvertently started out as an AppFabric 1.0 project and, recently, was upgraded to AppFabric 1.1 with Cumulative Update 4. In the end, the problem was the presence of AppFabric 1.0 configuration elements in the machine.config, default web.config and two workflow service project web.config files, most notably the <microsoft.applicationServer> configuration section group. There were also some 1.0 config extensions in the <system.serviceModel> section.

    Once all of the relics of the AppFabric 1.0 configuration were removed from machine.config, default web.config and both of the workflow service project web.config files, the workflow services began running successfully with both the EndToEnd Monitoring Profile and the Troubleshooting Monitoring Profile.

    The kicker: The WCF/WF Configuration Manager in IIS 7 added back the <microsoft.applicationServer> configuration section group with the following:

    <microsoft.applicationServer>
      <monitoring>
        <default enabled="true" 
                 connectionStringName="ApplicationServerMonitoringConnectionString"
                 monitoringLevel="Troubleshooting" />
      </monitoring>
    </microsoft.applicationServer>

    So, it's progress, but I'm not sure I'm done just yet.

    Thanks!

    Thursday, August 22, 2013 9:12 PM
  • Thanks for moving it for me!
    Thursday, August 22, 2013 9:12 PM
  • Thank you!

    These resources were helpful in terms of getting a better understanding of AppFabric Tracking and Persistence, but in the end, they did not help with my specific problem.

    Thursday, August 22, 2013 9:13 PM