Cleaning the connection pools because: Oracle error ORA-12571 encountered

Cleaning the connection pools because: Oracle error ORA-12571 encountered

  

Hello,

We have some applications using database connection pool to a Oracle Database. We have a period of 2 hours of inactivity using these applications. The first users using these applications after this period of inactivity are reporting slowness in the first actions. In the web servers we have for these applications  at the time of the first actions the below exceptions stack traces in Event Viewer.

It seems the pools reached the maximum limit of retry on connection and the platform decides to recycle the entire pool. 

Can this be avoided adding (BROKEN=enable) to the oracle tns configuration of the database connection pool in Outsystems?

Does the platform have a configuration that forces the connection make a "ping" to the database server keeping the connections valid even if there is no activity (something like a revalidation checker) ?


Stack Trace:

Cleaning the connection pools because: Oracle error ORA-12571 encountered.

 

   at OutSystems.HubEdition.Extensibility.Data.TransactionService.BaseTransactionService.ReleasePooledConnections(String reason)

   at OutSystems.HubEdition.DatabaseProvider.Oracle.TransactionService.TransactionService.CreateConnection(Int32 numRetries)

   at OutSystems.HubEdition.Extensibility.Data.TransactionService.GenericTransactionManager.GetRequestTransaction()

   at OutSystems.Internal.Db.DatabaseAccessProvider`1.GetRequestTransaction()

   ......

.......

   at System.Web.UI.Control.LoadRecursive()

   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

   at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

   at System.Web.UI.Page.ProcessRequest()

   at System.Web.UI.Page.ProcessRequest(HttpContext context)

   at System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride)

   at System.Web.HttpServerUtility.Execute(String path, TextWriter writer, Boolean preserveForm)

   at System.Web.HttpServerUtility.Transfer(String path)

   ....

.....

   at System.Web.UI.Control.LoadRecursive()

   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

   at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

   at System.Web.UI.Page.ProcessRequest()

   at System.Web.UI.Page.ProcessRequest(HttpContext context)

   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()

   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

   at System.Web.HttpApplication.ApplicationStepManager.ResumeSteps(Exception error)

   at System.Web.HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)

   at System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)

   at System.Web.Hosting.ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType)

Hi Rodrigo,

Did you manage to overcome this?