Subject RE: [firebird-support] Conflicting updates
Author Rick Debay
> Is the fault occurring if you only ever have on session/transaction
running at once?

All transactions are run in response to events. More than one type of
event can start similar processes (e.g. stock is placed in to inventory,
stock is sold).

This problem happens rarely (thankfully). Given that the bad value is
almost always twice what it should be, my first thought was two
transactions trying to set the "right" value. After thinking it through
I don't think it's possible (at worst they'd overwrite each other or
throw an exception), but concurrent modification is always a tricky
problem and I wanted to make sure I wasn't making a mistake or
misunderstanding how Firebird worked.

________________________________

From: firebird-support@yahoogroups.com
[mailto:firebird-support@yahoogroups.com] On Behalf Of Dunbar, Norman
Sent: Tuesday, December 08, 2009 11:34 AM
To: firebird-support@yahoogroups.com
Subject: RE: [firebird-support] Conflicting updates




Hi Rick,

>> I'm seeing a few values in tables that are twice what they should be.
>> ...
>> I'm at a loss to explain how my assumption of a race condition can be
>> possible. The two transactions can't see each others data
>> ...
>> If my reasoning isn't flawed, I'll have to drop the race condition
>> theory and look at the algorithms again.

Quoting Helen, from The Firebird Book, page 506:

"Firebird does not permit dirty reads."

So your belief that one transaction cannot see the other transaction's
data is correct. I'm suspecting you may have an algorithm, problem. Is
the fault occurring if you only ever have on session/transaction running
at once?

Good hunting!

Cheers,
Norman

Disclaimer: This message (including attachments) is confidential and may be privileged. If you have received it by mistake please notify the sender by return e-mail and delete this message from your system. Any unauthorized use or dissemination of this message in whole or in part is strictly prohibited. Please note that e-mails are susceptible to change. RxStrategies, Inc. shall not be liable for the improper or incomplete transmission of the information contained in this communication or for any delay in its receipt or damage to your system. RxStrategies, Inc. does not guarantee that the integrity of this communication has been maintained nor that this communication is free from viruses, interceptions or interference.