Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Darren Ferguson 1019 posts 3247 karma points MVP c-trib
    Jan 30, 2018 @ 11:24
    Darren Ferguson
    0

    New request is not allowed to start because it should come with valid transaction descriptor

    Hello,

    A customer has been running perfomance tests against a site we have built for them.

    This is version 7.58 and also the latest 7.6 in an Azure app service and using SQL Azure.

    The errors are SQL errors that we haven't seen before - and googling reveals that they are relatively rare exceptions:

    System.Data.SqlClient.SqlException (0x80131904): New request is not allowed to start because it should come with valid transaction descriptor.

    System.Data.SqlClient.SqlException (0x80131904): The server failed to resume the transaction.

    I've pasted a couple of full stack traces below for completeness. I also have a graph that shows that the performance test ran well for some time and then these errors began to occur.

    Interestingly - none of our custom data access was affected and continued to work during the periods that these errors occurred.

    I am mainly writing in case this is something that someone else has experienced.

    I have a suspicion that it may be to do with Azure and transient retry policies - but that is really just a guess!

    As mentioned stack traces below - and any help you can offer is much appreciated.

    Thanks.

    33 2018-01-25 14:08:05.2040000 2018-01-25 14:13:31.3550000 ERROR umbraco.cms.businesslogic.member.Member - An error occurred in GetCurrentMember System.Data.SqlClient.SqlException (0x80131904): New request is not allowed to start because it should come with valid transaction descriptor. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) 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.SqlInternalConnectionTds.ExecuteTransaction(TransactionRequest transactionRequest, String name, IsolationLevel iso, SqlInternalTransaction internalTransaction, Boolean isDelegateControlRequest) at System.Data.SqlClient.SqlInternalConnection.BeginSqlTransaction(IsolationLevel iso, String transactionName, Boolean shouldReconnect) at System.Data.SqlClient.SqlConnection.BeginTransaction(IsolationLevel iso, String transactionName) at System.Data.SqlClient.SqlConnection.BeginDbTransaction(IsolationLevel isolationLevel) at System.Data.Common.DbConnection.BeginTransaction(IsolationLevel isolationLevel) at StackExchange.Profiling.Data.ProfiledDbConnection.BeginDbTransaction(IsolationLevel isolationLevel) in c:\Code\github\SamSaffron\MiniProfiler\StackExchange.Profiling\Data\ProfiledDbConnection.cs:line 206 at System.Data.Common.DbConnection.System.Data.IDbConnection.BeginTransaction(IsolationLevel isolationLevel) at Umbraco.Core.Persistence.Database.BeginTransaction(IsolationLevel isolationLevel) at Umbraco.Core.Scoping.Scope.getDatabase() at Umbraco.Core.Persistence.UnitOfWork.ScopeUnitOfWork.getDatabase() at Umbraco.Core.Persistence.Repositories.MemberRepository.ProcessQuery(Sql sqlFull, PagingSqlQuery pagingSqlQuery, Boolean withCache) at Umbraco.Core.Persistence.Repositories.MemberRepository.PerformGetByQuery(IQuery1 query) at Umbraco.Core.Persistence.Repositories.RepositoryBase2.GetByQuery(IQuery1 query) at Umbraco.Core.Services.MemberService.GetByUsername(String username) at Umbraco.Web.Security.Providers.UmbracoMembershipProvider2.GetUser(String username, Boolean userIsOnline) at Umbraco.Core.Security.MembershipProviderExtensions.GetCurrentUser(MembershipProvider membershipProvider) at umbraco.cms.businesslogic.member.Member.GetCurrentMember()

    1 2018-01-25 14:08:06.2980000 2018-01-25 14:08:06.2980000 ERROR Umbraco.Core.Persistence.UmbracoDatabase - Exception (b7514517). System.Data.SqlClient.SqlException (0x80131904): The server failed to resume the transaction. Desc:a900002bbc. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() at System.Data.SqlClient.SqlDataReader.getMetaData() at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) at System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior) at StackExchange.Profiling.Data.ProfiledDbCommand.ExecuteDbDataReader(CommandBehavior behavior) in c:\Code\github\SamSaffron\MiniProfiler\StackExchange.Profiling\Data\ProfiledDbCommand.cs:line 235 at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader() at Umbraco.Core.Persistence.PetaPocoCommandExtensions.<>c__DisplayClass5_0.b__0() at Umbraco.Core.Persistence.FaultHandling.RetryPolicy.ExecuteAction[TResult](Func1 func) at Umbraco.Core.Persistence.PetaPocoCommandExtensions.ExecuteReaderWithRetry(IDbCommand command, RetryPolicy cmdRetryPolicy, RetryPolicy conRetryPolicy) at Umbraco.Core.Persistence.PetaPocoCommandExtensions.ExecuteReaderWithRetry(IDbCommand command, RetryPolicy retryPolicy) at Umbraco.Core.Persistence.PetaPocoCommandExtensions.ExecuteReaderWithRetry(IDbCommand command) at Umbraco.Core.Persistence.Database.d_74`1.MoveNext()

  • Steve Milligan 10 posts 76 karma points
    Apr 27, 2018 @ 10:26
    Steve Milligan
    0

    I'm also experiencing the same issue, intermittently, using Umbraco 7.5.11 and SQL Server 2016. Seems to be happening on a document type that has several Nested Content elements.

    All seems to be ok on our dev environment that uses Sql Server 2012

    Any help would be appreciated.

  • Salomons 8 posts 78 karma points
    Dec 20, 2018 @ 10:50
    Salomons
    0

    Hi Guys,

    Same issue here Umbraco 7.12.4, can it be that is has something to do with the miniprofiler?

    The following line implies that the miniprofiler is used in the connection. Also this detailed info (line nr etc) tells me that the miniprofiler is a debug version???. Is this by design? Should the miniprofiler be used when not in debug mode?

    c:\Code\github\SamSaffron\MiniProfiler\StackExchange.Profiling\Data\ProfiledDbCommand.cs:line 235 at
    
Please Sign in or register to post replies

Write your reply to:

Draft