Deadlocks in Catalog Web Service Calls
Web Server forum
Back To The Forum Home!Search!Private Messaging System

Web Server Talk Web Server Talk > Web Servers reviews > Microsoft Commerce Server > Commerce Server General > Deadlocks in Catalog Web Service Calls




  Last Thread   Next Thread Next
  Show Printable Version Email this Page Subscribe to this Thread      Post New Thread    Post A Reply      

    Deadlocks in Catalog Web Service Calls  
Colin Bowern


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
11-01-06 12:21 AM

I'm doing the first test deployment of our completed CS2007 site.  I'm
running into some SQL deadlocks when there is only a single user hitting the
server.  Has anyone else seen similar behaviour?

---
Event Type: Error
Event Source: Commerce Server Web Services
Event Category: None
Event ID: 1
Date:  10/31/2006
Time:  3:02:03 PM
User:  N/A
Computer: TESTWEB02
Description:
An exception occurred in the 'CatalogWebService' Web service.  Exception
details follow:

Microsoft.CommerceServer.Catalog.CatalogDatabaseException: Could not get the
root products for the catalog. ---> System.Data.SqlClient.SqlException:
Transaction (Process ID 67) was deadlocked on lock resources with another
process and has been chosen as the deadlock victim. Rerun the transaction.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception,
Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException
exception, Boolean breakConnection)
at
System.Data.SqlClient.TdsParser. ThrowExceptionAndWarning(TdsParserStateO
bjec
t
stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior,
SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet
bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlDataReader.HasMoreRows()
at System.Data.SqlClient.SqlDataReader.ReadInternal(Boolean setTimeout)
at System.Data.SqlClient.SqlDataReader.Read()
at System.Data.Common.DataAdapter.FillLoadDataRow(SchemaMapping mapping)
at System.Data.Common.DataAdapter.FillFromReader(DataSet dataset,
DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32
startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object
parentChapterValue)
at System.Data.Common.DataAdapter.Fill(DataSet dataSet, String srcTable,
IDataReader dataReader, Int32 startRecord, Int32 maxRecords)
at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset,
DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String
srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32
startRecord, Int32 maxRecords, String srcTable, IDbCommand command,
CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String
srcTable)
at
Microsoft.CommerceServer.Catalog.Internal.SqlHelper.ExecuteDataset(SqlConnec
tion
connection, CommandType commandType, String commandText, CatalogDataSetType
catalogDataSetType, SqlParameter[] commandParameters, String
outParameterName, Object& outParameterValue)
at
Microsoft.CommerceServer.Catalog.Internal.SqlHelper.ExecuteDataset(SqlConnec
tion
connection, String spName, CatalogDataSetType catalogDataSetType, Object[
;]
parameterValues, String outParameterName, Object& outParameterValue)
at
Microsoft.CommerceServer.Catalog.Internal.SqlHelper.ExecuteDataset(Execution
Context
executionContext, String spName, Object[] parameterValues,
CatalogDataSetType catalogDataSetType, String outParameterName, Object&
outParameterValue)
at
Microsoft.CommerceServer.Catalog.Internal.CatalogCache.GetDataset(ExecutionC
ontext
executionContext, CacheItemType cacheItemType, String storedProcedureName,
CatalogDataSetType catalogDataSetType, Boolean getFromCache, Object[]
parameters, String outParameterName, Object& recordCount, Boolean&
obtainedFromCache)
at
Microsoft.CommerceServer.Catalog.Internal.CatalogProducts.GetRootProducts(Ca
talogExecutionContext
executionContext, String catalogName, Boolean isVirtualCatalog, String
language, CatalogJoinType joinType, String targetTableName, String
sourceJoinKey, String targetJoinKey, CatalogSearchOptions searchOptions,
InventoryOptions inventoryOptions, Boolean getFromCache, Int32&
totalRecords)
--- End of inner exception stack trace ---
at
Microsoft.CommerceServer.Catalog.Internal.CatalogProducts.GetRootProducts(Ca
talogExecutionContext
executionContext, String catalogName, Boolean isVirtualCatalog, String
language, CatalogJoinType joinType, String targetTableName, String
sourceJoinKey, String targetJoinKey, CatalogSearchOptions searchOptions,
InventoryOptions inventoryOptions, Boolean getFromCache, Int32&
totalRecords)
at
Microsoft.CommerceServer.Catalog.Internal.Category.GetChildProducts(CatalogE
xecutionContext
context, String baseCatalogName, Boolean isVirtualCatalog, String
catalogName, String categoryName, Int32 oid, CatalogSearchOptions
searchOptions, InventoryOptions inventoryOptions, Boolean recursive,
JoinTableInformation joinTableInformation, String language, Boolean
getFromCache, Int32& totalRecords)
at
Microsoft.CommerceServer.Catalog.Internal.Category.GetChildProducts(CatalogE
xecutionContext
context, String baseCatalogName, Boolean isVirtualCatalog, String
catalogName, String categoryName, Int32 oid, CatalogSearchOptions cso,
InventoryOptions inventoryOptions, Boolean recursive, String swc,
JoinTableInformation joinTableInformation, String language, Boolean
getFromCache, Int32& totalRecords)
at
Microsoft.CommerceServer.Catalog.Internal.Category.PreLoadCategory(CatalogEx
ecutionContext
context, Category category, CategoryConfiguration config, Boolean
getFromCache, Boolean relationshipsExist)
at
Microsoft.CommerceServer.Catalog.Internal.Category.GetCategoryData(CatalogEx
ecutionContext
catalogExecutionContext, String catalogName, String categoryName, String
language, Nullable`1 isVC, Nullable`1 validateLanguage,
CategoryConfiguration config, Boolean getFromCache)
at
Microsoft.CommerceServer.Catalog.Internal.CatalogServerContextBase.GetCatego
ry(String
catalogName, String categoryName, String language, CategoryConfiguration
config, Boolean getFromCache, Nullable`1 isVirtualCatalog, Nullable`1
validateLanguage)

For more information, see Help and Support Center at
http://go.microsoft.com/fwlink/events.asp.
---

thanks,
Colin







[ Post a follow-up to this message ]



    Re: Deadlocks in Catalog Web Service Calls  
Joseph Johnson


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
11-01-06 12:21 AM

Colin,

Just out of curiousity, why is your ASP.Net application making a call to the
CatalogWebService?  You should be able to access the same functionality
using the local CommerceContext object.

Joe

"Colin Bowern" <colin.bowern@nospam.officialcommunity.com> wrote in message
news:uU8elhS$GHA.4708@TK2MSFTNGP05.phx.gbl...
> I'm doing the first test deployment of our completed CS2007 site.  I'm
> running into some SQL deadlocks when there is only a single user hitting
> the server.  Has anyone else seen similar behaviour?
>
> ---
> Event Type: Error
> Event Source: Commerce Server Web Services
> Event Category: None
> Event ID: 1
> Date:  10/31/2006
> Time:  3:02:03 PM
> User:  N/A
> Computer: TESTWEB02
> Description:
> An exception occurred in the 'CatalogWebService' Web service.  Exception
> details follow:
>
> Microsoft.CommerceServer.Catalog.CatalogDatabaseException: Could not get
> the root products for the catalog. --->
> System.Data.SqlClient.SqlException: Transaction (Process ID 67) was
> deadlocked on lock resources with another process and has been chosen as
> the deadlock victim. Rerun the transaction.
>   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception,
> Boolean breakConnection)
>   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException
> exception, Boolean breakConnection)
>   at
> System.Data.SqlClient.TdsParser. ThrowExceptionAndWarning(TdsParserStateO
bj
ect
> stateObj)
>   at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior,
> SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet
> bulkCopyHandler, TdsParserStateObject stateObj)
>   at System.Data.SqlClient.SqlDataReader.HasMoreRows()
>   at System.Data.SqlClient.SqlDataReader.ReadInternal(Boolean setTimeout)
>   at System.Data.SqlClient.SqlDataReader.Read()
>   at System.Data.Common.DataAdapter.FillLoadDataRow(SchemaMapping mapping)
>   at System.Data.Common.DataAdapter.FillFromReader(DataSet dataset,
> DataTable datatable, String srcTable, DataReaderContainer dataReader,
> Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn,
> Object parentChapterValue)
>   at System.Data.Common.DataAdapter.Fill(DataSet dataSet, String srcTable,
> IDataReader dataReader, Int32 startRecord, Int32 maxRecords)
>   at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset,
> DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String
> srcTable, IDbCommand command, CommandBehavior behavior)
>   at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32
> startRecord, Int32 maxRecords, String srcTable, IDbCommand command,
> CommandBehavior behavior)
>   at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String
> srcTable)
>   at
> Microsoft.CommerceServer.Catalog.Internal.SqlHelper.ExecuteDataset(SqlConn
ection
> connection, CommandType commandType, String commandText,
> CatalogDataSetType catalogDataSetType, SqlParameter[] commandParameter
s,
> String outParameterName, Object& outParameterValue)
>   at
> Microsoft.CommerceServer.Catalog.Internal.SqlHelper.ExecuteDataset(SqlConn
ection
> connection, String spName, CatalogDataSetType catalogDataSetType, Object&#
91;]
> parameterValues, String outParameterName, Object& outParameterValue)
>   at
> Microsoft.CommerceServer.Catalog.Internal.SqlHelper.ExecuteDataset(Executi
onContext
> executionContext, String spName, Object[] parameterValues,
> CatalogDataSetType catalogDataSetType, String outParameterName, Object&
> outParameterValue)
>   at
> Microsoft.CommerceServer.Catalog.Internal.CatalogCache.GetDataset(Executio
nContext
> executionContext, CacheItemType cacheItemType, String storedProcedureName,
> CatalogDataSetType catalogDataSetType, Boolean getFromCache, Object[]
> parameters, String outParameterName, Object& recordCount, Boolean&
> obtainedFromCache)
>   at
> Microsoft.CommerceServer.Catalog.Internal.CatalogProducts.GetRootProducts(
CatalogExecutionContext
> executionContext, String catalogName, Boolean isVirtualCatalog, String
> language, CatalogJoinType joinType, String targetTableName, String
> sourceJoinKey, String targetJoinKey, CatalogSearchOptions searchOptions,
> InventoryOptions inventoryOptions, Boolean getFromCache, Int32&
> totalRecords)
>   --- End of inner exception stack trace ---
>   at
> Microsoft.CommerceServer.Catalog.Internal.CatalogProducts.GetRootProducts(
CatalogExecutionContext
> executionContext, String catalogName, Boolean isVirtualCatalog, String
> language, CatalogJoinType joinType, String targetTableName, String
> sourceJoinKey, String targetJoinKey, CatalogSearchOptions searchOptions,
> InventoryOptions inventoryOptions, Boolean getFromCache, Int32&
> totalRecords)
>   at
> Microsoft.CommerceServer.Catalog.Internal.Category.GetChildProducts(Catalo
gExecutionContext
> context, String baseCatalogName, Boolean isVirtualCatalog, String
> catalogName, String categoryName, Int32 oid, CatalogSearchOptions
> searchOptions, InventoryOptions inventoryOptions, Boolean recursive,
> JoinTableInformation joinTableInformation, String language, Boolean
> getFromCache, Int32& totalRecords)
>   at
> Microsoft.CommerceServer.Catalog.Internal.Category.GetChildProducts(Catalo
gExecutionContext
> context, String baseCatalogName, Boolean isVirtualCatalog, String
> catalogName, String categoryName, Int32 oid, CatalogSearchOptions cso,
> InventoryOptions inventoryOptions, Boolean recursive, String swc,
> JoinTableInformation joinTableInformation, String language, Boolean
> getFromCache, Int32& totalRecords)
>   at
> Microsoft.CommerceServer.Catalog.Internal.Category.PreLoadCategory(Catalog
ExecutionContext
> context, Category category, CategoryConfiguration config, Boolean
> getFromCache, Boolean relationshipsExist)
>   at
> Microsoft.CommerceServer.Catalog.Internal.Category.GetCategoryData(Catalog
ExecutionContext
> catalogExecutionContext, String catalogName, String categoryName, String
> language, Nullable`1 isVC, Nullable`1 validateLanguage,
> CategoryConfiguration config, Boolean getFromCache)
>   at
> Microsoft.CommerceServer.Catalog.Internal.CatalogServerContextBase.GetCate
gory(String
> catalogName, String categoryName, String language, CategoryConfiguration
> config, Boolean getFromCache, Nullable`1 isVirtualCatalog, Nullable`1
> validateLanguage)
>
> For more information, see Help and Support Center at
> http://go.microsoft.com/fwlink/events.asp.
> ---
>
> thanks,
> Colin
>







[ Post a follow-up to this message ]



    Re: Deadlocks in Catalog Web Service Calls  
Colin Bowern


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
11-01-06 12:21 AM

Hey Joseph,

It was actually the Catalog Manager that was triggering this.  It may have
been an unpack issue.  I re-ran the SQL scripts for the Inventory database
components and checked permissions and things seem to be working now.  Weird
though because I'm still unsure as to the root cause.

Thanks,
Colin

"Joseph Johnson" <joe8t88@hotmail.com> wrote in message
news:OUui8zS$GHA.4704@TK2MSFTNGP04.phx.gbl...
> Colin,
>
> Just out of curiousity, why is your ASP.Net application making a call to
> the CatalogWebService?  You should be able to access the same
> functionality using the local CommerceContext object.
>
> Joe
>
> "Colin Bowern" <colin.bowern@nospam.officialcommunity.com> wrote in
> message news:uU8elhS$GHA.4708@TK2MSFTNGP05.phx.gbl... 
>
>







[ Post a follow-up to this message ]



    Sponsored Links  




 





   All times are GMT. The time now is 04:53 PM.      Post New Thread    Post A Reply      
  Last Thread   Next Thread Next


Most Popular forums 

Forum Jump:
Rate This Thread:

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is OFF
 
Medical and Health forum | Computer Games Reviews | Graphics design forum

Back To The Top
Home | Usercp | Faq | Register