Don't miss out Virtual Happy Hour this Friday (April 26).
Try our conversational search powered by Generative AI!
AI OnAI Off
Don't miss out Virtual Happy Hour this Friday (April 26).
Jan 09, 2019
Feb 15, 2019
Closed, Fixed and tested
Steps to reproduce:
1. Install QuickSilver.
2. Create a user by signing up. When the user logs in, a CustomerContact is created.
3. Delete the customer contact and related address from Commerce for this user, but not the user in asp.net identity.
4. Send 2 requests to http://localhost:50244/en/my-pages/profile/ at the same time.
Expected:
A 200 status code should be returned.
Actual:
A 500 status code is returned for 1 request.
Violation of UNIQUE KEY constraint 'UQ__cls_Cont__1788CC4D5F628676'. Cannot insert duplicate key in object 'dbo.cls_Contact'. The duplicate key value is (String:test1@example.com). The statement has been terminated. [SqlException (0x80131904): Violation of UNIQUE KEY constraint 'UQ__cls_Cont__1788CC4D5F628676'. Cannot insert duplicate key in object 'dbo.cls_Contact'. The duplicate key value is (String:test1@example.com). The statement has been terminated.] System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) +2551578 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) +5951128 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) +285 System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) +4169 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted) +255 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) +2598 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) +1483 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) +374 System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +286 Mediachase.BusinessFoundation.Data.Sql.<>c__DisplayClass32_0.<ExecuteNonQuery>b__0() +13 EPiServer.Data.Providers.SqlTransientErrorsRetryPolicy.Execute(Func`1 method) +563 Mediachase.BusinessFoundation.Data.Sql.SqlHelper.WithRetry(Func`1 action) +44 Mediachase.BusinessFoundation.Data.Sql.SqlHelper.ExecuteNonQuery(SqlConnection connection, SqlTransaction transaction, CommandType commandType, String commandText, Int32 commandTimeOut, SqlParameter[] commandParameters) +193 Mediachase.BusinessFoundation.Data.Sql.SqlHelper.ExecuteNonQuery(SqlContext context, CommandType commandType, String commandText, SqlParameter[] commandParameters) +62 Mediachase.BusinessFoundation.Data.DataHelper.Insert(TableConfig config, Dictionary`2 values) +567 Mediachase.BusinessFoundation.Data.Sql.CustomTableRow.Update() +120 Mediachase.BusinessFoundation.Data.Meta.MetaObject.SaveObject(Boolean bForceSave) +360 Mediachase.BusinessFoundation.Data.Meta.MetaObject.Save(Boolean forceSave) +70 Mediachase.BusinessFoundation.Data.Business.EntityObjectDefaultRequestHandler.Create(BusinessContext context) +405 Mediachase.BusinessFoundation.Data.Business.EntityObjectDefaultRequestHandler.Execute(BusinessContext context) +353 Mediachase.BusinessFoundation.Data.Business.BaseRequestHandler.Mediachase.BusinessFoundation.Data.Business.IRequestHandler.Execute(BusinessContext context) +10 Mediachase.BusinessFoundation.Data.Business.BusinessManager.ExecutePipeline(IRequestHandler handler) +45 Mediachase.BusinessFoundation.Data.Business.BusinessManager.ExecutePipelineInTransaction(IRequestHandler handler) +50 Mediachase.BusinessFoundation.Data.Business.BusinessManager.Execute(Request request) +168 Mediachase.BusinessFoundation.Data.Business.BusinessManager.Create(EntityObject target) +42 Mediachase.Commerce.Customers.CustomerContact.SaveChanges() +346 Mediachase.Commerce.Security.PrincipalExtensions.GetCustomerContact(IPrincipal principal) +168 Mediachase.Commerce.Security.PrincipalExtensions.GetContactId(IPrincipal principal) +109 Mediachase.Commerce.Core.Modules.BusinessFoundationInitializeModule.context_AuthorizeRequest(Object sender, EventArgs e) +40 System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +141 System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) +48 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +71