-
Keynote - Vision & Strategy
Fabien PinckaersSelesai
-
Opening Keynote - Unveiling Odoo 17
Fabien PinckaersSelesai
-
Enhancing User Experience to Build a Product Users Love?
Luc NailisSelesai
-
Learn Owl from Scratch in Just 50 Minutes
Géry DebongnieSelesai
-
Unveiling the Magic of Fine-Grained Reactivity in Owl 2
Samuel DegueldreSelesai
-
Host your Odoo server on the public Internet: do's and don'ts
Nicolas MartinelliSelesai
-
Your Questions, Our Answers: An Open AMA with Odoo Developers
Antony Lesuisse (al)Selesai
-
Odoo Security - A Retrospective
Olivier Dony & Denis LedouxSelesai
-
Odoo Advanced Ticket Workflow Management Module
Giovanni CorradoSelesai
-
Performance Deployment
Nicolas SeinletSelesai
Alexandre has been working with Odoo at Camptocamp since 2012 and OpenERP 6.1. He is a long time Odoo community contributor, and he is passionate about sharing knowledge.
Odoo is using the Repeatable Read isolation level of PostgreSQL, and this has some implications on how the server behaves and how you should write the code of your custom addons to avoid costly retries or completely blocking interactive usage of the Odoo instance because a of a long running scheduled action.
This talk targets experienced Odoo developers. We will start by explaining the differences between the PostgreSQL transaction isolation level used by Odoo (Repeatable Read) and the default isolation level used by PostgreSQL (Read Committed). We will then see how concurrent access errors are reported and dealt with by Odoo server. Finally we will dig into the topic of correctly locking in custom modules, using both implicit locks and explicit locking, and how to properly wait for a lock to be released or check for the existence of a lock on some rows. We will also see some SQL tricks enabling to skip locked rows in a transaction.