Microsoft-Windows-Application Server-System Services Event Collector, SqlException, Timeout expired
-
10 กรกฎาคม 2555 7:33
We have an AppFabric server using SqlExpress for the Monitoring and the Persistence store. We have had this config in test and in beta for a while without any issues. Of course now, we're released', we are starting to see some issues. Everynow and the a WF gets suspended.
System.ServiceModel.FaultException`1[System.ServiceModel.ExceptionDetail]: The operation could not be performed because the instance is in suspended state. (Fault Detail is equal to An ExceptionDetail, likely created by IncludeExceptionDetailInFaults=true, whose value is:
The error i'm seeing in the tracked events is:
System.InvalidOperationException: The operation could not be performed because the instance is in suspended state.
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)).Which i have seen before and has always been a programmer error. But this time i'm running fully tested code so this is not possible. So I dive in the Event log. And at about the same moment is find this in the EventLog:
- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event"> - <System> <Provider Name="Microsoft-Windows-Application Server-System Services Event Collector" Guid="{A174E94E-A6F8-4041-9206-BF7B345729B0}" /> <EventID>108</EventID> <Version>0</Version> <Level>2</Level> <Task>0</Task> <Opcode>0</Opcode> <Keywords>0x8000000000000000</Keywords> <TimeCreated SystemTime="2012-07-05T13:54:50.751554800Z" /> <EventRecordID>47</EventRecordID> <Correlation /> <Execution ProcessID="1252" ThreadID="2984" /> <Channel>Microsoft-Windows-Application Server-System Services/Admin</Channel> <Computer>aocsrv25.vlm.be</Computer> <Security UserID="S-1-5-19" /> </System> - <EventData> <Data Name="HostReference">JobMotor/, JobMotor/ConsoleHostService</Data> <Data Name="ExceptionMessage">Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.</Data> <Data Name="ExceptionData">System.Data.SqlClient.SqlException (0x80131904): Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() at System.Data.SqlClient.TdsParserStateObject.ReadSniError(TdsParserStateObject stateObj, UInt32 error) at System.Data.SqlClient.TdsParserStateObject.ReadSni(DbAsyncResult asyncResult, TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParserStateObject.ReadNetworkPacket() at System.Data.SqlClient.TdsParserStateObject.ReadByte() at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK) at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, TimeoutTimer timeout) at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, TimeoutTimer timeout, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) at System.Data.SqlClient.SqlConnection.Open() at Microsoft.ApplicationServer.Monitoring.EventCollector.DatabaseWriter.WriteToServerUsingBulkCopyPlugin(IBulkCopy bulkCopyPlugin, WriteBuffer buffer) at Microsoft.ApplicationServer.Monitoring.EventCollector.DatabaseWriter.Write(Object parameter)</Data> <Data Name="OccurrenceMap">5</Data> <Data Name="Occurrences">1</Data> <Data Name="InstanceName" /> </EventData> </Event>Strange thing is, if i start browsing through the event log, this has happened quite frequently on that machine. I can't find any explanation for this, so I'd love to hear your opinions...