Re: Client SE 5.01 and Transaction Not rollbacked
Posted in 1996
> Working with NT or W3.11 client and Informix SE 5.01 on SCO server. > When inserting data inside of a transaction (ANSI database) and > disconnect (kill or hardware failure) the Client process before it > send a commit, sqlexec is pending on the unix Server side, never see > the death of the client and transaction is never rollbacked. So we can > say that we have an inconsistency database... > > Is it a problem with I-NET version ? or a known problem with SE 5.01 ? > Thanks. > > > Tuan TA > Implicit software Corporation > http://www.implicit.com > Tuan, You may find that your problem is with neither I-NET nor SE. This sounds like a "TCP/IP Orphan Processes" problem. It's root cause is due to the fact that TCP/IP is a "packet transport" protocol. Under this protocol, your data 'message' is broke up into 'packets' of information. Each packet is assigned a packet sequence number. The first packet also contains information regarding the total length of the message. Those packets are then sent out over the network to their destination. There is no guaranty that the destination node will receive the packets in the same order in which they where sent, so the destination node assembles the packets according to sequence number, and message length. The destination node will wait for the complete message to be received (based on the message length) before it hands the data off to the OS. The amount of time which the destination node will wait before it assumes that the data flow has been interrupted is generally in the range of 120 minutes, unless you have changed the kernel parameter appropriate for your platform. This means that if a client machine is re-booted, the orphan process on the server will wait for about 2 hours before it is terminated, then the transaction should be rolled back. Regards, -- Walter S. Tyszka (wstyszka@ingr.com) * Standard disclaimers apply *