Community mailing list archives

Re: Odoo Performance and concurrency locks

Camptocamp France SAS, Alexandre Fayolle - Camptocamp
- 09/15/2015 05:04:06
On 14/09/2015 23:17, Antony Lesuisse wrote:
> That said, we will consider adding a separate append only table for last login 
> (actually it would be last presence it would be used for chat presence too) 
> because res.users is a foreign key to every row and i think most of the 
> concurrency issues comes from that.

I agree, and this is why we put up base_concurrency in the first place.

Thanks to Georges Racinet for explaining me why that combination of a
universal FK and a continuous update of the row was such a killer for

> The patch would be very similar to base_concurrency module, the fonction 
> should be called when login and when longpolling on the bus (for chat and 
> notification). It would be append only to the table only if lasttime-now() is 
>  > that presence delay (maybe 5min). And we would GC it in a cron.

base_concurrency does not handle the longpolling bus. But it allows:

1. importing csv files in parallel
2. connecting as admin while long transactions are in progress (e.g. mrp
on a large db, large CSV file import)

Having these benefits natively in v9 would be great.

Alexandre Fayolle
Chef de Projet
Tel : +33 4 58 48 20 30

Camptocamp France SAS
Savoie Technolac, BP 352
73377 Le Bourget du Lac Cedex