Important Notice from AspDotNetStorefront
It is with dismay that we report that we have been forced, through the action of hackers, to shut off write-access to this forum. We are keen to leave the wealth of material available to you for research. We have opened a new forum from which our community of users can seek help, support and advice from us and from each other. To post a new question to our community, please visit: http://forums.vortx.com
Results 1 to 12 of 12

Thread: Timeout expired

  1. #1
    SRT is offline Senior Member
    Join Date
    Sep 2008
    Posts
    108

    Default Timeout expired

    When I run the monthly maintenance function, I get the following timeout error message. Our webhost has increased the connection timeout, but it still doesn't work. Any other suggestions to fix this?

    Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

  2. #2
    ASPAlfred is offline Senior Member
    Join Date
    Nov 2007
    Posts
    2,244

    Default

    You'd want to do each task one at a time,instead of doing it once at the same time. Your server cannot just handle it, as it is timing out before they're completed.

  3. #3
    SRT is offline Senior Member
    Join Date
    Sep 2008
    Posts
    108

    Default

    All we're doing is clicking on Run monthly maintenance under "Common Links." How can that task be done one at a time beyond clicking on that one link?

  4. #4
    ssgumby is offline Senior Member
    Join Date
    Feb 2009
    Posts
    683

    Default

    When you click the link to monthly maintenance, there are a lot of options you can turn on/off.

  5. #5
    SRT is offline Senior Member
    Join Date
    Sep 2008
    Posts
    108

    Default

    Unchecking various items in the monthly matinentance doesn't help; still getting time out errors. Any other suggestions?

    Thanks.

  6. #6
    AspDotNetStorefront Staff - Scott's Avatar
    AspDotNetStorefront Staff - Scott is offline Administrator
    Join Date
    Mar 2007
    Location
    Ashland, OR
    Posts
    2,390

    Default

    If you've got so much in the DB that the maintenance can't complete before your host's timeout period, there's not a whole lot that can be done through the software. If you submit the form over and over again eventually it'll work it's way through, but how many times that'll take depends on how much is in the DB and your host's settings.

    What would probably be better would be to connect to the database directly through Enterprise Manager or SSMS and run the sproc manually. Depending on your host's setup, that'll probably be able to run longer.

    The sproc has the following parameters you'll need to set when you run it:

    @InvalidateCustomerCookies (1/0)
    @PurgeAnonCustomers (1/0)
    @CleanShoppingCartsOlderThan (integer, set to 0 to disable erasing)
    @CleanWishListsOlderThan (integer, set to 0 to disable erasing)
    @CleanGiftRegistriesOlderThan (integer, set to 0 to disable erasing)
    @EraseCCFromAddresses (1/0)
    @EraseSQLLogOlderThan (integer, set to 0 to disable erasing)
    @ClearProductViewsOrderThan (integer, set to 0 to disable erasing)
    @EraseCCFromOrdersOlderThan (integer, set to 0 to disable erasing)
    @DefragIndexes (1/0)
    @PurgeDeletedRecords (1/0)

  7. #7
    SRT is offline Senior Member
    Join Date
    Sep 2008
    Posts
    108

    Default

    If you're saying that our database is too large for the query to run from within the ASPDNS application within the allotted 5 minute timeout, then can you specify what is an acceptable database size or what is an acceptable number of products/customers for our database to avoid the time-outs?

  8. #8
    AspDotNetStorefront Staff - Scott's Avatar
    AspDotNetStorefront Staff - Scott is offline Administrator
    Join Date
    Mar 2007
    Location
    Ashland, OR
    Posts
    2,390

    Default

    There is no 'acceptable size', that's going to vary dramatically by hosting environment. Basically, if the operation is timing out - the DB is too big for the environment.

    I would use one of the methods I listed above to get the maintenance run this time, then work with your developer/DBA to start archiving off old data periodically. You can also just run the maintenance more often, so there are fewer rows the sproc has to work on each time.

  9. #9
    SRT is offline Senior Member
    Join Date
    Sep 2008
    Posts
    108

    Default

    Where can we adjust the timeout setting for the application to run 'reset cache' and 'monthly maintenance' without timeout errors? Our web host has attempted to change the value in the web.config but the error still times out within 20-30 seconds. This timeout happens even when we follow your previous instructions to turn off items, but that hasn't made a difference.

    It's also been verified that the SQL user has db_owner permissions and all of the NTFS permissions are set correctly. The timeout connect value has been adjusted in the connection string yet the issue persists.

    Using Firebug for Firefox we found that the maintenance script consistently times out around 20-30 seconds, resulting in a 500 error on "POST monthlymaintenance.aspx https://www.mysitename.com/admin/monthlymaintenance.aspx" (even though the application has Full Control NTFS permission and the database user is set to db_owner).

    We also have 250 MB of memory of which only half is being used, so that's not an issue either.

    Help?

  10. #10
    ssgumby is offline Senior Member
    Join Date
    Feb 2009
    Posts
    683

    Default

    One method that worked for me is as follows.

    1. In monthly maintenance turn off all options.
    2. Select Clear All Shopping Carts > 30 days
    3. Click GO
    4. Get the 500 error do to timeout.
    5. Repeat at step 1. until you get a success message.
    6. Start back over at step 1 with the next option (Clear All Wish List)

    Doing this repeatedly allow me to get through the monthly maintenance with the exception of Tuning Indexes ... that still fails.

  11. #11
    SRT is offline Senior Member
    Join Date
    Sep 2008
    Posts
    108

    Default

    Quote Originally Posted by ssgumby View Post
    One method that worked for me is as follows....

    Doing this repeatedly allow me to get through the monthly maintenance with the exception of Tuning Indexes ... that still fails.


    Thanks, ssgumby.

    ASPDNS: Given that you have 2 clients experiencing the exact same problem, is this a known "bug" in ASPDNS???

  12. #12
    SRT is offline Senior Member
    Join Date
    Sep 2008
    Posts
    108

    Default Still getting timeout errors on reset cache

    Any solutions on how to fix this problem? The webhost and developer can't solve it. We're using version 8.0.0

    (Note our domain name info is disguised in [brackets]

    Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

    Source Error:


    Line 124: DB.CreateSQLParameter("@PurgeDeletedRecords", SqlDbType.TinyInt, 1, CommonLogic.IIF(PurgeDeletedRecords.Checked, 1, 0), ParameterDirection.Input)
    Line 125: };
    Line 126: DB.ExecuteStoredProcInt("dbo.aspdnsf_MonthlyMainte nance", spa);
    Line 127:
    Line 128: if (SaveSettings.Checked)



    Source File: d:\Domains\[domainname].com\wwwroot\[domain]admin\monthlymaintenance.aspx.cs Line: 126

    Stack Trace:


    [SqlException (0x80131904): Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.]
    AspDotNetStorefrontCommon.DB.ExecuteStoredProcInt( String StoredProcName, SqlParameter[] spa) in D:\S-1616\ASPDNSFCommon\DB.cs:337
    AspDotNetStorefrontAdmin.monthlymaintenance.GOButt on_Click(Object sender, EventArgs e) in d:\Domains\[domainname].com\wwwroot\[domain]admin\monthlymaintenance.aspx.cs:126
    System.Web.UI.WebControls.Button.OnClick(EventArgs e) +105
    System.Web.UI.WebControls.Button.RaisePostBackEven t(String eventArgument) +107
    System.Web.UI.WebControls.Button.System.Web.UI.IPo stBackEventHandler.RaisePostBackEvent(String eventArgument) +7
    System.Web.UI.Page.RaisePostBackEvent(IPostBackEve ntHandler sourceControl, String eventArgument) +11
    System.Web.UI.Page.RaisePostBackEvent(NameValueCol lection postData) +33
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1746


    Thanks.