Page 1 of 1

OracleAlerter receives wrong Alert

Posted: Fri 14 Mar 2014 10:53
by klaus linzner
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?

Re: OracleAlerter receives wrong Alert

Posted: Wed 19 Mar 2014 23:33
by klaus linzner
Do you have any news on this one?
Could you reproduce the issue?

Re: OracleAlerter receives wrong Alert

Posted: Thu 20 Mar 2014 16:50
by Pinturiccio
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.