none
Help with FileSystemWatcher Issue using vss (EMC snapshot manager) RRS feed

  • Question

  • Hi,

    We have a filesystemwatcher service which is executed by a WCF windows service and sometime we get following 

    errors:

    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.TdsParser.TdsExecuteTransactionManagerRequest(Byte[] buffer, TransactionManagerRequestType request, String transactionName, TransactionManagerIsolationLevel isoLevel, Int32 timeout, SqlInternalTransaction transaction, TdsParserStateObject stateObj, Boolean isDelegateControlRequest)

       at System.Data.SqlClient.SqlInternalConnectionTds.ExecuteTransactionYukon(TransactionRequest transactionRequest, String transactionName, IsolationLevel iso, SqlInternalTransaction internalTransaction, Boolean isDelegateControlRequest)

       at System.Data.SqlClient.SqlInternalTransaction.Commit()

       at System.Data.SqlClient.SqlTransaction.Commit()

       at PetaPoco.Database.CleanupTransaction()

       at PetaPoco.Transaction.Complete()


    On investigation  we have identified the:

     The error occurs when the filesystemwatcher service event has been triggered, and it tries to connect to a SQLSERVER database on which a  shadow process (vss) service is active, and at that very instance  the EMC snapshot manager has frozen the server activity to make a consistent snapshot.

    The implication of this is that the filesystemwatch leaves the file in the "pending" state, and to process the file we have to restart the service again.

    The files are dropped into the dropping area by an automated processes thus we have no control over the timing.

    So is there a way to eliminate/minimise this error?

    Our environment: 

      windows 2008 r2

      sqlserver 2008 r2 sp2

      EMS 5.5.4

    Thanks in advance.

     

    Monday, March 31, 2014 12:18 PM