Subject | Error 10038 |
---|---|
Author | Tim |
Post date | 2006-09-12T07:33:16Z |
Hello everyone,
Anyone know what this error is and how we can stop it?
From the Interbase log file :
FORECOURT (Server) Tue Sep 05 15:36:45 2006
INET/inet_error: select in packet_receive errno = 10038
Interbase 6.0.2.0
We have a forecourt server at gasoline stations, and a client POS in
the convenience store. Interbase classic is running on the forecourt
server. The forecourt server handles all the transactions and
instructions to and from the gasoline pumps; the POS handles the
point of sale only.
As a transaction is happening on the pumps, it gets logged to a log
table. When the transaction is complete, it is moved to a complete
table. The pump then sends a signal to the POS that pump #nnnn is now
ready to be paid off. (The handle has been replaced). The POS looks
for the matching transaction in the complete table.
Occasionally, the POS seems to not pick up that the forecourt
transaction is complete. This seems to happen randomly.
Please note that "transaction" in this sense is NOT a database
transaction, but a financial transaction.
All database transactions are kept as brief as possible, with
explicit start transactions and commit/rollbacks before and after
every insert, update, delete or select.
We are finding this problem almost impossible to log. We cannot
reproduce it in a test environment, and cannot load the development
IDE (Delphi) on the production environment.
TIA
Tim
Anyone know what this error is and how we can stop it?
From the Interbase log file :
FORECOURT (Server) Tue Sep 05 15:36:45 2006
INET/inet_error: select in packet_receive errno = 10038
Interbase 6.0.2.0
We have a forecourt server at gasoline stations, and a client POS in
the convenience store. Interbase classic is running on the forecourt
server. The forecourt server handles all the transactions and
instructions to and from the gasoline pumps; the POS handles the
point of sale only.
As a transaction is happening on the pumps, it gets logged to a log
table. When the transaction is complete, it is moved to a complete
table. The pump then sends a signal to the POS that pump #nnnn is now
ready to be paid off. (The handle has been replaced). The POS looks
for the matching transaction in the complete table.
Occasionally, the POS seems to not pick up that the forecourt
transaction is complete. This seems to happen randomly.
Please note that "transaction" in this sense is NOT a database
transaction, but a financial transaction.
All database transactions are kept as brief as possible, with
explicit start transactions and commit/rollbacks before and after
every insert, update, delete or select.
We are finding this problem almost impossible to log. We cannot
reproduce it in a test environment, and cannot load the development
IDE (Delphi) on the production environment.
TIA
Tim