BizTalk Server 2013 R2 BHM toolBizTalk 2013 R2 ships with a new tool called as “BizTalk Health Monitor”. BHM is freely available for all BizTalk 2013 R2 users. More about BHM tool at BizTalkHealthMonitor
Recently when I worked on wcf-oracle Adapter issue in BizTalk. I got the timeout exception very often during composite operations. I increased the timeout parameters to check if my operations are getting executed. To my surprise I found the timeout exception still occurring.
When I correlated the failed messages with the success ones, it had more instances of operation to be executed. When executing the failed scenario I could see that the number of active connections were high.
A message sent to adapter "WCF-Custom" on send port "WcfSendPort_OracleDBBinding_Package_XXX" with URI "oracledb://OracleDBServer/" is suspended. Error details: Microsoft.ServiceModel.Channels.Common.ConnectionException: Connection requesttimed out ---> Oracle.DataAccess.Client.OracleException: Connection request timed out at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck) at Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, Object src)at Oracle.DataAccess.Client.OracleConnection.Open() at Microsoft.Adapters.OracleCommon.OracleCommonConnectionWrapper..ctor(String connectionString, OracleCommonExecutionHelper executionHelper) at Microsoft.Adapters.OracleDB.OracleDBConnection.OpenConnection(OracleCommonExecutionHelper executionHelper)
So, the issue was not while opening the connection but it exhausted the number of connections from the pool. Increasing the minPoolSize and maxPoolSize resolved the issue.
Note: Increasing the pool size might impact performance. Find the optimal value for the respective environment through trial and error. Hope this helps!
Written byShashidharan Krishnan
Reviewed byJainath RamanathanMicrosoft GTSC, India