Hello to all forum members.
I'm new as forum member, although I've been reading your posts for a long time and I've found a lot of usefull info on them. But this time, I have a question that I haven't been able to find anywhere. So let's start with it...
The simple question is:
How can I have IDS (9.x or higher) to AUTOMATICALLY release dead (or long inactive) sessions?
I explain it a little bit more:
- I have an application connecting through ODBC (Informix ODBC Runtime 3.81) and in the middle of the current transaction the connection with IDS is lost (i.e. phyiscally lost) for a while.
- When the application detects that connection is lost, it retries reconnecting periodically until it finally establishes a new connection (for instance, once the physical connection problem has been solved).
- Then, it restarts the work and opens a transaction to perform the same actions (inserts and updates) that it was doing when the previous transaction was interrupted.
- At this point, it finds that the resources to update are being locked by the old session it had opened, which is still "alive" in the server side, so the work is stopped... for an indefinite time.
The same problem occurs when the application is killed or abnormally terminated (client machine falls), instead of just losing connection, and a new application instance must be started.
I would like to have IDS killing those "long inactive" sessions automatically after a given timeout or something like this.
How has this problem been solved by Informix?
Thanks a lot in advance.