Hi,
we have editable ListGrid which sends updates via saveAllEdits().
We can see that DSRequests are ordered in the queue in respect to sort order of ListGrid records.
Recently we faced following concurrency issue:
User A sends queue with update request from ListGrid sorted ascendantly.
User B sends queue with update request from ListGrid sorted descendantly.
Queue updates are encapsulated in one transaction (business requirement).
Transaction A is updating records from 1 to N, transaction B is updating records from N to 1.
At some point they are going to bump against each others DB locks resulting in deadlock.
We consider to solve this issue by applying rule of Ordered locks.
Is it possible, before execution, to reorder DSRequests in the queue on the server side by comparing value of the primaryKey field?
Regards, Matus
we have editable ListGrid which sends updates via saveAllEdits().
We can see that DSRequests are ordered in the queue in respect to sort order of ListGrid records.
Recently we faced following concurrency issue:
User A sends queue with update request from ListGrid sorted ascendantly.
User B sends queue with update request from ListGrid sorted descendantly.
Queue updates are encapsulated in one transaction (business requirement).
Transaction A is updating records from 1 to N, transaction B is updating records from N to 1.
At some point they are going to bump against each others DB locks resulting in deadlock.
We consider to solve this issue by applying rule of Ordered locks.
Is it possible, before execution, to reorder DSRequests in the queue on the server side by comparing value of the primaryKey field?
Regards, Matus
Comment