You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have written a basic sample code, using Testcontainers for .NET, which uses OracleDependency to watch for database changes. Note that the Oracle.ManagedDataAccess.Core version is 23.7.0.
@0xced Can you turn on ODP.NET tracing to level 7 and share your trace? You can upload it here or email it to dotnet_us(at)oracle.com.
After you register the change notification with ODP.NET 23.8 and before you execute the SQL with the DB change, run the query: SELECT REGID, TABLE_NAME FROM USER_CHANGE_NOTIFICATION_REGS;
If the registration is not there, it tells us the problem is with the registration step. Otherwise, the problem is with the ability to receive the DB notification.
I updated the code to print the registrations. I can confirm that a registration exists (with REGID = 302) in the USER_CHANGE_NOTIFICATION_REGS table. The registration exists with both version 23.7.0 and 23.8.0 of the driver.
Note that you should be able to reproduce this issue on any machine with Docker Desktop running (or an equivalent such as Orbstack). Yay Testcontainers!
@0xced Thanks for the trace file. It confirms the logs in the Docker container. The DB is killing the connection after getting unexpected data from the client. I opened up a bug (37985867) to have the ODP.NET dev team review the trace and diagnose the root cause.
I have written a basic sample code, using Testcontainers for .NET, which uses
OracleDependency
to watch for database changes. Note that theOracle.ManagedDataAccess.Core
version is 23.7.0.watch.csproj
Program.cs
OracleExecutor.cs
Running this code with
dotnet run
works fine. The insert detection is instantaneous and the following logs are produced.Now, if you update the
Oracle.ManagedDataAccess.Core
package to version 23.8.0 the insert detection stops working and the following logs are produced.If we look at the Docker container logs we can see some errors that were not happening when using version 23.7.0 of ODP.NET.
Since the only difference is the version of ODP.NET driver, it looks like a regression was introduced in version 23.8.0.
The text was updated successfully, but these errors were encountered: