NetCommunity sometimes performs very slowly while trying to edit a part.

When attempting to edit a part in Blackbaud NetCommunity, the browser will sometimes appear to freeze for a few minutes while loading the part.  In extreme cases, NetCommunity may return a timeout error to the browser.
NetCommunity web server error logs show a SQL deadlock exception immediately preceding the issue, such as:
------------
ID: ######
Type: System.Data.SqlClient.SqlException
Message: Transaction (Process ID ###) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
StackTrace: at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() 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 Blackbaud.Web.Content.Core.SitePage.LoadFromReader(SqlDataReader dr) at Blackbaud.Web.Content.Core.SitePage.LoadByID(Int32 RecordID) at Blackbaud.Web.Content.Core.DataObject.getCachedRecord[T](Int32 recordID, Boolean createIfNotCached, Int32 versionID, Boolean exceptionIfNotExists) at Blackbaud.Web.Content.Core.URLBuilder.Builder.GetPageURL(String pageId) at Blackbaud.Web.Content.Core.URLBuilder.Builder.ToString(Boolean MaintainCurrentScheme, Boolean IncludeQueryString, Boolean IncludeAdditionalNetCommunityQueryStringItems) at Blackbaud.Web.Content.Core.URLBuilder.BuildSitePageLink(Boolean DoNotPersistQueryStringValues, Int32 PageID, Boolean DesignMode, Int32 SourceID, eLinkSourceType SourceTypeID, String RERecordID, Int32 TabID, Boolean bWithinEmail, Boolean bFullyQualify, Boolean bForceUserSSL, Int32 AddressBookContactId, Boolean bPreviewMode, Boolean bPropagateQueryString, String EmailJobRecipientID, String BBSystem, String BBRecordType, String AppPathURL, String DonationFundID, String DonationFundDesc, String FinderNumber, Boolean bForceReload, String eCardViewKey, String TrackingId, Boolean IsActive) at Blackbaud.Web.Content.Portal.MenuBuilder.GetURL(ResultRow& item) at Blackbaud.Web.Content.Portal.ULMenuBuilder.RecurseBuildMenu(DataRow oRow, HtmlGenericControl& parentMenuItem, Int32 itemCount) at Blackbaud.Web.Content.Portal.ULMenuBuilder.RecurseBuildMenu(DataRow oRow, HtmlGenericControl& parentMenuItem, Int32 itemCount) at Blackbaud.Web.Content.Portal.ULMenuBuilder.RecurseBuildMenu(DataRow oRow) at Blackbaud.Web.Content.Portal.MenuBuilder.BuildMenu() at Blackbaud.Web.Content.Portal.MenuDisplay.Page_Load(Object sender, EventArgs e) at System.EventHandler.Invoke(Object sender, EventArgs e) at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
CreateDate: yyyy-mm-dd HH:MM:SS
------------

This is resolved in the latest version of NetCommunity. If this behavior is persistent, please confirm you’re on the latest version of NetCommunity.

Environment

 6.45.2034 patch 8
 6.45.2034, patch 15

Was this article helpful?