Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 5 of 5 total
Thread 3.30 StartTransaction timeout
Fri, Jun 5 2015 2:53 PMPermanent Link

John Easley

Occasionally, calling StartTransaction while another user is in a transaction will cause my app to appear to hang.  I'm wondering if there's a timeout setting?

I'd like to be able to update the UI with a counter to coincide with the timeout, and once the timer has elapsed offer the user a Retry or Cancel option.

TIA,

John
Wed, Jun 10 2015 1:06 PMPermanent Link

Fernando Dias

Team Elevate Team Elevate

John,

I can't directly answer your question about if there is a setting or not in V3, I can't remember, but I believe there was not because there isn't in V4. Anyway, what I can tell you is that that behavior is absolutely normal, and the correct way to avoid the issues that you have described is to always ensure that transactions are keep short, desirably not more than some seconds. In conclusion, that means that you can't allow users to decide how long does it take for a transaction to commit or rollback. not with DBISAM Smiley


--
Fernando Dias
[Team Elevate]
Wed, Jun 10 2015 1:16 PMPermanent Link

Raul

Team Elevate Team Elevate

On 6/10/2015 1:06 PM, Fernando Dias wrote:
> in V3, I can't remember, but I believe there was not because there isn't
> in V4.

AFAIK there is one in v4 (TableTransLockWaitTime and
TableTransLockRetryCount properties of the engine) so this can be done
in v4 - time out (you get an exception) and then can prompt the user to
either cance or retry or whatever else is appropriate.

However i don't know if v3 published those settings.

Raul
Wed, Jun 10 2015 1:32 PMPermanent Link

Fernando Dias

Team Elevate Team Elevate

Raul,
Thanks, I have never used that and was convinced there wasn't one.
Anyways, the solution is not to play with the timeout but to use transactions the way they were designed to work in DBISAM - keep them as short as possible, never ever let the user decide how long it will take for them to commit or rollback.

Fernando Dias
[Team Elevate]
Thu, Jun 11 2015 8:10 PMPermanent Link

John Easley

Fernando,

I keep transactions short, but it seems that if DBISAM 3.30 detects a transaction exists, that it waits indefinitely, or maybe as long as the session timeout, which is too long.  There no way to prevent two transactions from occurring at exactly the same time.. it's a rare occasion when it happens, but when it does, I get a phone call.  If I can adjust a timeout setting, I'd set it to 5 seconds or so..

John
Image