Skip to Main Content

ODP.NET

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Using the 23.*.* managed client both the framework and dotnet core version we get complete blocks

Daniel RoweSep 2 2024

Hello

Using the 23.*.* managed client, both the framework and dotnet core version we get complete blocks.

We are not seeing this with earlier clients like the 21.*, we are seeing very similar behaviour in both the Oracle.ManagedDataAccess and Oracle.ManagedDataAccess.Core clients.

With the dotnet 8 services when it gets into the bad state we get this:

024-09-01 20:16:56, 870-[ERROR]-[.NET TP Worker] - Connection id "0HN66JRBD07PR", Request id "0HN66JRBD07PR:00000001": An unhandled exception was thrown by the application.
Framework.DataAccessLayer.DataAccessException: ORA-50012: Pooled connection request timed out
---> Oracle.ManagedDataAccess.Client.OracleException (0x80004005): ORA-50012: Pooled connection request timed out
at OracleInternal.ConnectionPool.PoolManager`3.GetAsync(ConnectionString csWithDiffOrNewPassw, Boolean bGetForApp, OracleConnection connRefForCriteria, String affinityInstanceName, Boolean bForceMatch, Boolean bAsync)
at OracleInternal.ConnectionPool.OraclePoolManager.GetAsync(ConnectionString csWithNewPassw, Boolean bGetForApp, OracleConnection connRefForCriteria, String affinityInstanceName, Boolean bForceMatch, Boolean bAsync)
at OracleInternal.ConnectionPool.OracleConnectionDispenser`3.GetAsync(ConnectionString cs, PM conPM, ConnectionString pmCS, OracleOpaqueString securedPassw, OracleOpaqueString securedProxyPassw, OracleConnection connRefForCriteria, Boolean bAsync)
at Oracle.ManagedDataAccess.Client.OracleConnectionInternal.OpenInternalAsync(Boolean bAsync)
at Oracle.ManagedDataAccess.Client.OracleConnectionInternal.OpenAsyncHelper(CancellationToken cancellationToken)
at Oracle.ManagedDataAccess.Client.OracleConnectionInternal.OpenAsyncHelper(CancellationToken cancellationToken)
at Oracle.ManagedDataAccess.Client.OracleConnectionInternal.OpenAsync(CancellationToken cancellationToken)
at Framework.DataAccessLayer.ConnectionManager.CreateConnectionAsync()

With the Framework client seems to just deadlock and not throw exceptions. Attaching a debugger, all the threads in the application have stack traces into the oracle client and shows the threads as blocked.

I want to reiterate that using the earlier client there is no issue and these services are ultra reliable. Using the new 24.* client introduces this.

Not known what triggers it, and it seems random. Services can run days and not have an issue.

What is the best way to report this to the Oracle dotnet developers?

Regards

Daniel

Comments
Post Details
Added on Sep 2 2024
1 comment
125 views