Transaction being rolled back automatically during dispose

book

Article ID: 179796

calendar_today

Updated On:

Products

Management Platform (Formerly known as Notification Server)

Issue/Introduction

 

Resolution

Problem
Date: Mar 10 11:37:20:033
Source: Altiris.NS.ContextManagement.DatabaseContext.Dispose
Description: Transaction being rolled back automatically during dispose. To disable this warning rollback your transaction explicitly! Dispose location:
 at Altiris.NS.ContextManagement.DatabaseContext.Dispose()
 at Altiris.NS.ItemManagement.Folder.GetFolderPathGuids(Guid, Boolean)
 at Altiris.ProductDelivery.LimitedExport.Web.UI.DataClassSelectionTree.BuildTree(Guid)
 at Altiris.ProductDelivery.LimitedExport.Web.UI.DataClassSelectionTree.dataClassCheckTree_PreRender(Object, EventArgs)
 at System.Web.UI.Control.OnPreRender(EventArgs)
 at Microsoft.Web.UI.WebControls.BasePostBackControl.OnPreRender(EventArgs)
 at Microsoft.Web.UI.WebControls.TreeView.OnPreRender(EventArgs)
 at System.Web.UI.Control.PreRenderRecursiveInternal()
 at System.Web.UI.Control.PreRenderRecursiveInternal()
 at System.Web.UI.Control.PreRenderRecursiveInternal()
 at System.Web.UI.Control.PreRenderRecursiveInternal()
 at System.Web.UI.Page.ProcessRequestMain()
 at System.Web.UI.Page.ProcessRequest()
 at System.Web.UI.Page.ProcessRequest(HttpContext)
 at System.Web.CallHandlerExecutionStep.System.Web.HttpApplication+IExecutionStep.Execute()
 at System.Web.HttpApplication.ExecuteStep(IExecutionStep, Boolean&)
 at System.Web.HttpApplication.ResumeSteps(Exception)
 at System.Web.HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext, AsyncCallback, Object)
 at System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest)
 at System.Web.HttpRuntime.ProcessRequest(HttpWorkerRequest)
 at System.Web.Hosting.ISAPIRuntime.ProcessRequest(IntPtr, Int32)

Environment
Notification Server 6.0 SP3

Cause

Possibly busy server.

Resolution
These rollback messages are generally just symptoms of a busy spike in the server. If these happen once a week, the load on the server is probably the right amount of work. If the spikes are happening multiple times every day, then the server may be carrying too much load. Also, if these transactions are occurring at the same time every day, review what other scheduled tasks are running at that time and change it to another schedule to balance out the load.

As an explanation, "the transaction being rolled back" just means that the server was unable to finish the entire transaction ether because it was busy or because of a problem. In ether case, monitor the server over a couple of days to tell if there is a problem.  

The automatically and explicitly settings are not configurable at the SQL or Application level. When Notification Server was designed the automatic option was specified when the API call is made.