OracleAlerter receives wrong Alert

Discussion of open issues, suggestions and bugs regarding ADO.NET provider for Oracle
Post Reply
klaus linzner
Posts: 28
Joined: Thu 16 May 2013 09:18

OracleAlerter receives wrong Alert

Post by klaus linzner » Fri 14 Mar 2014 10:53

Hi,
We ran into a bug with OracleAlerter: In a Testenvironment about 150 Alerts were set up. During testing we simulate network problems to test if our components built on top devart deal with connection problems and reconnect automatically.
Once connectivity was restored we ran into the problem that although we could recreate all 150 Alerts we received wrong Alerts in some of our OracleAlerters.

Take this for example:
Alert1 still received Alert1
Alert2 suddenly received Alert3 as well
Alert3 suddenly received Alert2 as well
Alert4 still received Alert4

In debug we can see that OracleAlerter.AlertName is set to Alert2 but in the raised event we get Alert3 - so basically the sender in SetupAlerter_OnAlerter doesn't match the OracleAlerterAlertEventArgs ...

Code: Select all

private void SetupAlerter_OnAlert(object sender, OracleAlerterAlertEventArgs e)
{
   OnAlert(e.AlertName, e.AlertMessage);
}
...and in PseudoCode:

Code: Select all

((OracleAlerter)sender).AlertName != e.AlertName
Could it be that recycled connections from the pool are used which are still registered to their prior alerts?

klaus linzner
Posts: 28
Joined: Thu 16 May 2013 09:18

Re: OracleAlerter receives wrong Alert

Post by klaus linzner » Wed 19 Mar 2014 23:33

Do you have any news on this one?
Could you reproduce the issue?

Pinturiccio
Devart Team
Posts: 2420
Joined: Wed 02 Nov 2011 09:44

Re: OracleAlerter receives wrong Alert

Post by Pinturiccio » Thu 20 Mar 2014 16:50

Please try performing the following. If you process network problems, clear the connection pool before reconnect. You can do it with the ClearAllPools and ClearPool mehods. For more information, please refer to
http://www.devart.com/dotconnect/oracle ... Pools.html
http://www.devart.com/dotconnect/oracle ... rPool.html

When network problems are solved, close connections, clear the pool, and reopen connections.Does the exception occur after this?

Please also try localizing the issue and create a small test project, reproducing it. Send us this project with the corresponding DDL/DML scripts.

Post Reply