Exception Type: Csla.DataPortalException (Timed out)

Exception Type: Csla.DataPortalException (Timed out)

Old forum URL: forums.lhotka.net/forums/t/9972.aspx


thamer posted on Saturday, January 22, 2011

Hi all, We are getting this error a lot and we are lost between application vender & Network team, i'm dying to know the root cause for this issue. can somebody assit me how to trubleshoot this issue. Pls. Pls. Pls. Pls.Pls.Crying Exception Information Details: ====================================== Exception Type: Csla.DataPortalException BusinessObject: 0 BusinessException: System.Net.WebException: The request was aborted: The operation has timed out. at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request) at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at company.CMM.ClientWebProxy.CMMService.GetItemList(ItemDataListFilter Request) at company.Buy.ItemList.Fetch(ItemWebFilter criteria) at company.Buy.ItemList.DataPortal_Fetch(ItemWebFilter criteria) Message: DataPortal.Fetch failed (Csla.DataPortalException: DataPortal.Fetch failed (System.Net.WebException: The request was aborted: The operation has timed out. at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request) at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at company.CMM.ClientWebProxy.CMMService.GetItemList(ItemDataListFilter Request) at company.Buy.ItemList.Fetch(ItemWebFilter criteria) at company.Buy.ItemList.DataPortal_Fetch(ItemWebFilter criteria)) ---> Csla.Server.CallMethodException: DataPortal_Fetch method call failed ---> System.Net.WebException: The request was aborted: The operation has timed out. at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request) at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at company.CMM.ClientWebProxy.CMMService.GetItemList(ItemDataListFilter Request) at company.Buy.ItemList.Fetch(ItemWebFilter criteria) at company.Buy.ItemList.DataPortal_Fetch(ItemWebFilter criteria) --- End of inner exception stack trace --- at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request) at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at company.CMM.ClientWebProxy.CMMService.GetItemList(ItemDataListFilter Request) at company.Buy.ItemList.Fetch(ItemWebFilter criteria) at company.Buy.ItemList.DataPortal_Fetch(ItemWebFilter criteria) at Csla.MethodCaller.CallMethod(Object obj, MethodInfo info, Object[] parameters) at Csla.Server.SimpleDataPortal.Fetch(Type objectType, Object criteria, DataPortalContext context) --- End of inner exception stack trace --- at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request) at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at company.CMM.ClientWebProxy.CMMService.GetItemList(ItemDataListFilter Request) at company.Buy.ItemList.Fetch(ItemWebFilter criteria) at company.Buy.ItemList.DataPortal_Fetch(ItemWebFilter criteria) at Csla.MethodCaller.CallMethod(Object obj, MethodInfo info, Object[] parameters) at Csla.Server.SimpleDataPortal.Fetch(Type objectType, Object criteria, DataPortalContext context) at Csla.DataPortal.Fetch(Type objectType, Object criteria) at Csla.DataPortal.Fetch[T](Object criteria) at company.Buy.ItemList.GetItemList(ItemWebFilter webSearchCriteria) at company.Buy.ItemInfo.DataPortal_Fetch(Criteria criteria)) Data: System.Collections.ListDictionaryInternal TargetSite: System.Object Fetch(System.Type, System.Object) HelpLink: NULL Source: Csla StackTrace Information Details: ====================================== at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request) at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at company.CMM.ClientWebProxy.CMMService.GetItemList(ItemDataListFilter Request) at company.Buy.ItemList.Fetch(ItemWebFilter criteria) at company.Buy.ItemList.DataPortal_Fetch(ItemWebFilter criteria) at Csla.MethodCaller.CallMethod(Object obj, MethodInfo info, Object[] parameters) at Csla.Server.SimpleDataPortal.Fetch(Type objectType, Object criteria, DataPortalContext context) at Csla.DataPortal.Fetch(Type objectType, Object criteria) at Csla.DataPortal.Fetch[T](Object criteria) at company.Buy.ItemList.GetItemList(ItemWebFilter webSearchCriteria) at company.Buy.ItemInfo.DataPortal_Fetch(Criteria criteria) at Csla.MethodCaller.CallMethod(Object obj, MethodInfo info, Object[] parameters) at Csla.Server.SimpleDataPortal.Fetch(Type objectType, Object criteria, DataPortalContext context) at Csla.DataPortal.Fetch(Type objectType, Object criteria) at Csla.DataPortal.Fetch[T](Object criteria) at company.Buy.ItemInfo.GetItemInfo(String SymbolCode, Int32 ExchangeCode) at EN_Secure_Trade_Default.ItemInfoDataSource_SelectObject(Object sender, SelectObjectArgs e) at Csla.Web.CslaDataSource.OnSelectObject(SelectObjectArgs e) at Csla.Web.CslaDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) at System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) at System.Web.UI.WebControls.DataBoundControl.PerformSelect() at System.Web.UI.WebControls.BaseDataBoundControl.DataBind() at System.Web.UI.WebControls.FormView.DataBind() at EN_Secure_Trade_Default.cmbSecurityList_SelectedIndexChanged(Object sender, EventArgs e) at ComponentArt.Web.UI.ComboBox.SelectedIndexChangedEventHandler.Invoke(Object sender, EventArgs e) at ComponentArt.Web.UI.ComboBox.OnSelectedIndexChanged(EventArgs e) at ComponentArt.Web.UI.ComboBox.OnLoad(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.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) Exception Information Details: ====================================== Exception Type: Csla.Server.CallMethodException Message: DataPortal_Fetch method call failed Data: System.Collections.ListDictionaryInternal TargetSite: System.Object CallMethod(System.Object, System.Reflection.MethodInfo, System.Object[]) HelpLink: NULL Source: Csla StackTrace Information Details: ====================================== at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request) at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at company.CMM.ClientWebProxy.CMMService.GetItemList(ItemDataListFilter Request) at company.Buy.ItemList.Fetch(ItemWebFilter criteria) at company.Buy.ItemList.DataPortal_Fetch(ItemWebFilter criteria) at Csla.MethodCaller.CallMethod(Object obj, MethodInfo info, Object[] parameters) at Csla.Server.SimpleDataPortal.Fetch(Type objectType, Object criteria, DataPortalContext context) at Csla.DataPortal.Fetch(Type objectType, Object criteria) at Csla.DataPortal.Fetch[T](Object criteria) at company.Buy.ItemList.GetItemList(ItemWebFilter webSearchCriteria) at company.Buy.ItemInfo.DataPortal_Fetch(Criteria criteria) at Csla.MethodCaller.CallMethod(Object obj, MethodInfo info, Object[] parameters) at Csla.Server.SimpleDataPortal.Fetch(Type objectType, Object criteria, DataPortalContext context) Exception Information Details: ====================================== Exception Type: Csla.DataPortalException BusinessObject: company.Buy.ItemList BusinessException: System.Net.WebException: The request was aborted: The operation has timed out. at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request) at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at company.CMM.ClientWebProxy.CMMService.GetItemList(ItemDataListFilter Request) at company.Buy.ItemList.Fetch(ItemWebFilter criteria) at company.Buy.ItemList.DataPortal_Fetch(ItemWebFilter criteria) Message: DataPortal.Fetch failed (System.Net.WebException: The request was aborted: The operation has timed out. at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request) at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at company.CMM.ClientWebProxy.CMMService.GetItemList(ItemDataListFilter Request) at company.Buy.ItemList.Fetch(ItemWebFilter criteria) at company.Buy.ItemList.DataPortal_Fetch(ItemWebFilter criteria)) Data: System.Collections.ListDictionaryInternal TargetSite: System.Object Fetch(System.Type, System.Object) HelpLink: NULL Source: Csla StackTrace Information Details: ====================================== at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request) at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at company.CMM.ClientWebProxy.CMMService.GetItemList(ItemDataListFilter Request) at company.Buy.ItemList.Fetch(ItemWebFilter criteria) at company.Buy.ItemList.DataPortal_Fetch(ItemWebFilter criteria) at Csla.MethodCaller.CallMethod(Object obj, MethodInfo info, Object[] parameters) at Csla.Server.SimpleDataPortal.Fetch(Type objectType, Object criteria, DataPortalContext context) at Csla.DataPortal.Fetch(Type objectType, Object criteria) at Csla.DataPortal.Fetch[T](Object criteria) at company.Buy.ItemList.GetItemList(ItemWebFilter webSearchCriteria) at company.Buy.ItemInfo.DataPortal_Fetch(Criteria criteria) Exception Information Details: ====================================== Exception Type: Csla.Server.CallMethodException Message: DataPortal_Fetch method call failed Data: System.Collections.ListDictionaryInternal TargetSite: System.Object CallMethod(System.Object, System.Reflection.MethodInfo, System.Object[]) HelpLink: NULL Source: Csla StackTrace Information Details: ====================================== at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request) at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at company.CMM.ClientWebProxy.CMMService.GetItemList(ItemDataListFilter Request) at company.Buy.ItemList.Fetch(ItemWebFilter criteria) at company.Buy.ItemList.DataPortal_Fetch(ItemWebFilter criteria) at Csla.MethodCaller.CallMethod(Object obj, MethodInfo info, Object[] parameters) at Csla.Server.SimpleDataPortal.Fetch(Type objectType, Object criteria, DataPortalContext context) Exception Information Details: ====================================== Exception Type: System.Net.WebException Status: Timeout Response: NULL Message: The request was aborted: The operation has timed out. Data: System.Collections.ListDictionaryInternal TargetSite: System.Net.WebResponse GetWebResponse(System.Net.WebRequest) HelpLink: NULL Source: System.Web.Services StackTrace Information Details: ====================================== at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request) at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at company.CMM.ClientWebProxy.CMMService.GetItemList(ItemDataListFilter Request) at company.Buy.ItemList.Fetch(ItemWebFilter criteria) at company.Buy.ItemList.DataPortal_Fetch(ItemWebFilter criteria) ==============================================================================

JonnyBee replied on Saturday, January 22, 2011

Hi,

Which CSLA version and protocol are you using?

One likely cause is a Non-serializable exception on the server side. This will case the server to fail (with http 500) to send a well defines message to client.

Another possible cause is misconfiguration/malfunction in load balancing or network card on server. I've seen problems like this with dual network cards and misconfiguration in pairing of network cards..

I assume you have checked the IIS log to see if the IIS has logged any error codes (like http 500)?

 

thamer replied on Sunday, January 23, 2011

Thanks Jonny for your kind reply,

Protocol is 80 Http (web services). CSLA is 2.0

We are having web Server & Application server and we are seeing this error in the web server application log & IIS log. But we not sure if the transaction hit the Application server or not, because in the application log of the application server nothing is there !

And the same request are working fine in most of the cases, we see the timeout once in a while.

In term of Network setup we have four servers (two web & two application) and two Load Balancer, in the servers we enable Teaming for redundancy. i don't know if this will cause any issue or not ?? 

ajj3085 replied on Saturday, January 22, 2011

My first guess is that the request is taking longer than the request timeout in IIS or the services configuration.  I believe requests in IIS have a certain maxium time to complete, and if that time is reached the request is aborted.  Check how long the server request is taking, and either optimze what's going on in the server side call, or increase the timeout.

Logging will help you ifgre out what's going on.

thamer replied on Sunday, January 23, 2011

Thanks Andy for your reply,

I have checked the execution time and the average is 1-2 secs.

we do logging and could not found the request in the logs and could not find the request in IIS logs too.

we found it IIS (both web & application)  the connection time out as 2 minutes and http keep alive is enabled.

 

ajj3085 replied on Sunday, January 23, 2011

Right, your average time is one to two seconds, but as you said this only happens intermittently.

I assume you're doing some database work, perhaps there's a deadlock which causes the request to take longer than two minutes.  Maybe there's some networking issue causing connections to the database to take a long time.

Do you have any logging from your code?  I know the IIS logs won't be very helpful, but your application should be logging to help diagnose this.

andy

thamer replied on Monday, January 24, 2011

Thanks Andy for your reply,

Yes we do application logging in all levels meaning at request received , processed , information, warning & exception etc..,

But the starnge thing is , we could not see the request even in our application logs.

we tried hard and could not found it in IIS log (of course based on url & time stamp) also.

 

Copyright (c) Marimer LLC