2.7 - Detection of a locked record has become quite slow
Posted: Thu Mar 04, 2021 11:41 am
Robert / Chris
1. VO and X# share the same DBF+FPT.
2. VO locks a record.
3. X# tries to lock the same record, but suddenly it takes ~ 2 seconds to see the err msg
4. I checked the lock tries settings:
VO:
X#:
But, no matter which value i try, i can´t change the X# behaviour. It always takes ~ 2 seconds to see the err msg. It seems that X# simply ignores this setting ?
BTW. There´s no such delay if X# tries a Flock() instead.
I installed 2.6 and the lock is detected again as fast as with VO. But i´ve noticed that this build also ignores the Locktries() setting. There´s no delay problem if VO tries to lock a record that´s already locked by X#. Because VO doesn´t ignore the Locktries() setting i´m even able to simulate the slow X# behaviour with the setting
What has changed in the 2.7 build in this area ?
regards
Karl-Heinz
1. VO and X# share the same DBF+FPT.
2. VO locks a record.
3. X# tries to lock the same record, but suddenly it takes ~ 2 seconds to see the err msg
Code: Select all
IF ! SELF:server:RLock ( SELF:server:recno )
? "RLock() failed"
ENDIF
4. I checked the lock tries settings:
VO:
Code: Select all
? LockTries() // default is 1
X#:
Code: Select all
? LockTries() // default is 10
? XSharp.RuntimeState.LockTries // 10
Code: Select all
LockTries(1) // has no affect
LockTries(0xffffffff) // has no affect
BTW. There´s no such delay if X# tries a Flock() instead.
I installed 2.6 and the lock is detected again as fast as with VO. But i´ve noticed that this build also ignores the Locktries() setting. There´s no delay problem if VO tries to lock a record that´s already locked by X#. Because VO doesn´t ignore the Locktries() setting i´m even able to simulate the slow X# behaviour with the setting
Code: Select all
LockTries(1500000).
What has changed in the 2.7 build in this area ?
regards
Karl-Heinz