• Toll-free  888-665-8637
  • International  +1 717-220-0012
Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

rufosx
#1 Posted : Tuesday, June 17, 2008 7:56:45 AM(UTC)
rufosx

Rank: Member

Joined: 5/31/2008(UTC)
Posts: 9

This is going to sound strange, but its now happened to me four times.

I have the latest BVCommerce (with some additional modification by myself to handle multiple warehouses and server side on the fly image resizing). I'm running it on a powerful new 2005 web server, and I have SQL Server 2005, latest SP, running on a second server (quad proc, tons of memory), both in my colo.

I've got a really large catalog of products (4000+) and a bunch of categories (380).

Here's the issue : 4 times in the last 40 days (since I went live), the bvc_Product_ByCategory_s stored procedure will time out on every single execution made over the SQL Native Client. This happens on the cart (no products show on the category pages, effectively shutting down the cart), my development machine and any SQL Native Client connection to the database server. If I execute the sp on the server itself in the Enterprise Mgr, it runs and returns the result in less than a second.

The first 3 times this happened, I ended up having to fully reboot the SQL Server to resolve. The fourth time, I tried switching the connection string to try the OLEDB provider instead (which failed, of course) and then switched back, at which time it started working. I've now created a fully mirrored database on a second server and plan on trying to force failover on the next failure and see if that fixes it (I'm pretty sure it will).

Has anyone ever seen anything like this before? I find it mindboggling. Any hints on where to look for issues would be greatly appreciated.

By the way, the cart is here :
http://phoenixcigar.com/shop/

If you want to see the on the fly image resizing, take a look at the Cigar Brands page. All those images are a very wide variety of sizes on the server, but are scaled server side, with proportions intact. I had some serious issues with the built-in image resizing (partly because its done browser side, and partly because it didn't maintain proportions).

You won't see the warehousing from the customer side. When an order is placed, the order processor (person) checks stock at multiple warehouses, selects warehouses to ship each product (to condense shipping packages), and then the notices are handled like drop shipper notices. Inventory on the cart is summed across all warehouses.
Andy Miller
#2 Posted : Tuesday, June 17, 2008 2:21:41 PM(UTC)
Andy Miller

Rank: Member

Joined: 11/5/2003(UTC)
Posts: 2,136

Was thanked: 1 time(s) in 1 post(s)
I've never seen this, but I would look at connection pooling. By default the native client (perhaps all...I can't remember) will use connection pooling. In other words it will reuse an existing connection if possible. I suspect that the (if there is only one) or one of (if there are multiple) the connections in the pool becomes corrupted, but the client is trying to use it anyway. When the timeout occurs, try capturing information about the connection...perhaps you will see the problem. Or change the datalayer to explicitly dispose of the failed connection (or whatever it takes to remove it from the pool), create a new connection, and then retry the operation.
Andy Miller
Structured Solutions

Shipper 3 - High Velocity Shipment Processing
rufosx
#3 Posted : Thursday, June 19, 2008 10:06:48 AM(UTC)
rufosx

Rank: Member

Joined: 5/31/2008(UTC)
Posts: 9

That was the first thing I tried, but I also have the store running locally on my development machine, and when the online store stops getting a response for that query, my development machine fails as well. So it doesn't appear to be specific to the connection pool for the application. Also, recycling application pools on the web server does not fix the issue.

I'm sure its something on the database server, but I have no idea what it could be, or even where to look. The process locks look fine, the event log looks fine.
Andy Miller
#4 Posted : Thursday, June 19, 2008 11:46:59 AM(UTC)
Andy Miller

Rank: Member

Joined: 11/5/2003(UTC)
Posts: 2,136

Was thanked: 1 time(s) in 1 post(s)
Since you are so thorough I feel silly suggesting this, but make sure your SQL Server has all the latest service packs installed. After that, you may need to contact MS product support.
Andy Miller
Structured Solutions

Shipper 3 - High Velocity Shipment Processing
bvuser
#5 Posted : Thursday, June 19, 2008 12:19:43 PM(UTC)
bvuser

Rank: Member

Joined: 4/10/2006(UTC)
Posts: 462

A workflow definitely can stop an order from being placed. The task you create to prevent the $0 shipping order from going through should be the first task in the place new order workflow.



Netriplex Corporation
Custom Bvc5 Development - "Helping to Build Your Store, Your Way"
Check out our "Tax in Product Pricing" module
http://bvc5demo.netriplexboston.com
Netriplex Corporation<br />
bvuser
#6 Posted : Thursday, June 19, 2008 12:27:34 PM(UTC)
bvuser

Rank: Member

Joined: 4/10/2006(UTC)
Posts: 462

Regarding the sql issue...Does the sql server hang only when this particular stored procedure is called or is this procedure simply the one that you notice it on because it is obvious when it occurs?

If it is the only that you have observed hanging, attempt a standard text box search to see how the sql server responds to that request. If it performs the search without a problem, the number of products/categories (the load) is probably not the cause of the problem. In this case, I would be curious in any of your custom development changes that were made ever call or use bv core functions that rely on this procedure? Does any of your custom coding make a direct db call to this SP?

Have you used perfmon on the sql server to track sql variables and chart connection changes and connection counts, response times, etc?



Netriplex Corporation
Custom Bvc5 Development - "Helping to Build Your Store, Your Way"
Check out our "Tax in Product Pricing" module
http://bvc5demo.netriplexboston.com
Netriplex Corporation<br />
rufosx
#7 Posted : Thursday, June 19, 2008 3:10:22 PM(UTC)
rufosx

Rank: Member

Joined: 5/31/2008(UTC)
Posts: 9

Thanks, caplink, for your workflow suggestion (even if its for a problem in a different topic!). I'll try implementing that.

The SQL server is fully patched and is chugging along fine. This is the ONLY stored procedure that I've found to fail, but there could be others. Everything in the admin continues to work, and the site itself works, displaying the categories and recently viewed items just fine. But no products ever show when you click a category.

If I use the Visual Studio query tool (which uses SQL Native Client) and execute just that stored procedure with the bvin of a category, it times out. If I go to the SQL Server itself and execute the same combo, it runs and returns in less than a second.

So, yes, it looks like my next step is to use perfmon the next time it dies. I'm not all that good with it, but I'll see if anything jumps out at me.

Thanks, guys. I know this a weird issue.
CorneliuTusnea
#8 Posted : Friday, June 20, 2008 9:06:14 PM(UTC)
CorneliuTusnea

Rank: Member

Joined: 8/17/2006(UTC)
Posts: 681

Rufosx,
Your problem then might be an issue with MSDTC localy on your dev machine or your website machine. If you just execute the SP from the website maybe there is one other operation that is marked as part of the same transaction which would raise the transaction to distributed via DTC. Next time it happends check if DTC is alive and if it runs transactions.
Maybe before it happends, turn the DTC monitor on and load the category page to trigger the SP to see if it is executed via DTC.
Next time it happends you can check that again.
To check:
Start->Run->mmc.exe, File->Add Remove Snap-in->Component Services->Add.
Open the tree and navigate to Transactions List & Transaction Statistics.
If when you have the error DTC is dead or does not run your SP you might have to search for a fix for MSDTC.
Regards,
Corneliu
http://www.bestgames.com.au
http://www.bestchess.com.au



BV Product Links, Details and Signatures: Improve your customer experience:

http://www.acorns.com.au/projects/bv/quicklink/

Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.

©2024 Develisys. All rights reserved.
  • Toll-free  888-665-8637
  • International  +1 717-220-0012