Icon View Thread

The following is the text of the current message along with any replies.
Messages 31 to 39 of 39 total
Thread #1006 cannot unlock the row in the table
Thu, May 2 2019 7:11 AMPermanent Link

Yusuf Zorlu

MicrotronX - Speditionssoftware vom Profi

Jose Eduardo Helminsky wrote:

<<According my experience with a lot of concurrent users my suggestion is to change the pessimistic locking model to optimistic. A lot of troubles you are seeing will dissapear and let the control of things to database (DBISAM and ElevateDB). There will be just a little lock while your application is postiing the record. In the model you are using if the user press "Edit" button and go to the bathroom, go to drink a coffee or anything else the record will be locked until the application is active then stopping *ALL* of other users.
>>

Hi Jose Eduardo,

thank you for your tips but we need pessimistic locking because we're working with transporting / forwarding and customs companies. Possible that one user changes the customs destination and the second one wants to change the customs at source at the same time which can create big problems.

But you are also right, possible that we switch to optimistic locking and in problematic areas we create our own locking mechanism if nothing else works.

Brgds,
Yusuf Zorlu
MicrotronX
Thu, May 2 2019 7:11 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Jose


Out of interest how do you handle the "last post wins" scenario?

Roy Lambert
Thu, May 2 2019 7:25 AMPermanent Link

Rolf Frei

eicom GmbH

Tim any words about the locked configuration on any query we are running?

I have just done some more tests and the configuration is locked on every single query we run. I did just a simple "Select * from table where text like '%abc%'" and the Configuration gets locked as long this or any other query is running.

I have now tested all Configurations tables and this ones gets locked on running a Query:

- ServerSessions
- ServerSessionLocks
- ServerSessionStatistics

So if we have a long time running query (> 30 sec.) we get an Lock error 506 on using any oth this configuration tables. Also some code which want infos from this table, will not work as expected as seen in the OP situation. In a haeay user situation this locks will make it near impossible to use this tables at all.

IMO, you should realy do something about this.
Thu, May 2 2019 8:42 AMPermanent Link

Raul

Team Elevate Team Elevate

On 5/2/2019 7:25 AM, Rolf Frei wrote:
> Tim any words about the locked configuration on any query we are running?
>
> I have just done some more tests and the configuration is locked on every single query we run. I did just a simple "Select * from table where text like '%abc%'" and the Configuration gets locked as long this or any other query is running.
>
> I have now tested all Configurations tables and this ones gets locked on running a Query:
>
> - ServerSessions
> - ServerSessionLocks
> - ServerSessionStatistics
>
> So if we have a long time running query (> 30 sec.) we get an Lock error 506 on using any oth this configuration tables. Also some code which want infos from this table, will not work as expected as seen in the OP situation. In a haeay user situation this locks will make it near impossible to use this tables at all.

See Tim's other post (System Information Tables and Usage) which covers
this. Basically system queries need a lock for every session at this time.

Raul

Thu, May 2 2019 1:04 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Yusuf,

<< Ok Tim it is possible that I have overreacted ... But we are not kids playing at the playground. >>

I wouldn't consider running our own business for 20+ years "playing around".  We take it *very* seriously: it's how we pay our bills.  And, our reputation is *everything* for us. It's why I get so upset when you post something that has not been confirmed/reproduced in any way.

<< Don't forget we have over 260 customers with a total of more than 1400 users and that means we have big trouble if our product hangs or makes problems ... Having calls all the day because of this I am overstressed and possible I overreacted but pls understand my position! >>

That's fine, and I *do* understand, but you're missing one critical detail: you *are* letting your customers directly write queries/scripts against a production database.  I would *never* allow this, for many reasons, but it's your software and you can do what you want.  But, you're going to have to deal with the consequences of your customers doing things that actively harm the ability of the EDB Server to provide consistent and reliable performance, and there's nothing I can do about that.

<< Can you say something about locked configuration.serversessions in case / example on page 2 of this thread? >>

Please see the new thread that I started about this issue.

Tim Young
Elevate Software
www.elevatesoft.com
Tue, May 7 2019 6:17 AMPermanent Link

Jose Eduardo Helminsky

HPro Informatica

Roy Lambert

<<
Out of interest how do you handle the "last post wins" scenario?
>>

I think I do not understand what you mean. If you are talking about two users accessing the same data at same poiint. Then the first one will post the data and the second will receive "Record changed by another user". If not, try to explain me and I will be glad to answer. My main application deals with high concurrency all the time and I have a lot of experience with that.

Regards
Eduardo
Tue, May 7 2019 6:46 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Jose

>Out of interest how do you handle the "last post wins" scenario?
>>>
>
>I think I do not understand what you mean. If you are talking about two users accessing the same data at same poiint. Then the first one will post the data and the second will receive "Record changed by another user". If not, try to explain me and I will be glad to answer. My main application deals with high concurrency all the time and I have a lot of experience with that.

You did understand Smiley

Is it just "its been changed - start again" or do you identify the changes that have been made, and retain  non-conflicting changes made by person 2 and present the combined modifications for checking & posting?

Roy
Tue, May 7 2019 6:57 AMPermanent Link

Jose Eduardo Helminsky

HPro Informatica

Roy Lambert:

<<
Is it just "its been changed - start again" or do you identify the changes that have been made, and retain  non-conflicting changes made by person 2 and present the combined modifications for checking & posting?
>>
Most of the times just "it has been changed or deleted by another user", just in some very specific cases I did all the operations using non data-bound controls and compare the fields like you describe (much work).

Eduardo
Tue, May 7 2019 7:41 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Jose

>(much work).

Yup

Roy
« Previous PagePage 4 of 4
Jump to Page:  1 2 3 4
Image