Daily updates from Odoo
Wednesday, June 19, 2019
5 changes · master
Enhancements to existing features
This update improves how product units of measure handle rounding when decimal precision settings are involved, helping prevent incorrect quantities. It also makes the unit conversion ratio label consistent, reducing confusion for users configuring units.
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Resolved issues and error corrections
Searches using “is not” or “does not contain” now correctly include records where the field is empty. This makes search results more consistent and prevents users from missing relevant records in filtered lists or reports.
Database-backed logging now sends log entries without blocking the main operation. This reduces the risk of installation or update processes getting stuck when logging to the same database being changed.
Original PR description
When using log-db, especially to the same database being worked on, it's possible to get dealocked: the logging call is synchronous but creates a new transaction, which might be waiting for some alteration of the ir_logging table to complete, alteration which won't complete because it's not waiting on the logging call. Work around this issue by dispatching the ir_logging insert asynchronously and not waiting for its completion. This should avoid the extra waiting & some of the loss (as a timeout would cancel the insertion).
This fix reduces the chance that database logging can block or deadlock during system installation or updates. It avoids unnecessary locking when cleaning up an old database constraint and adds a safeguard so logging delays do not halt critical maintenance work.
Original PR description
Alternative to #33764 At the root level, the specific deadlock being investigated is caused by DROP CONSTRAINT acquiring an ACCESS EXCLUSIVE lock on the table (even IF EXISTS and the constraint…
Alternative to #33764 At the root level, the specific deadlock being investigated is caused by DROP CONSTRAINT acquiring an ACCESS EXCLUSIVE lock on the table (even IF EXISTS and the constraint doesn't exist), preventing inserts in an other transaction, so ir_logging would *systematically* deadlock when configured to lock to the same database, have a warning trigger during install / update and ir.logging's init had run. Investigated using DISABLE TRIGGER to disable this specific constraint rather than drop it, it takes a somewhat lower priority lock (SHARE ROW EXCLUSIVE) but still too high priority for inserts to go through. 1. hand-roll "if exists" to avoid taking an ACCESS EXCLUSIVE lock every time, this doesn't actually fix the issue as the lock *will* be taken when upgrading a db in which the constraint exists. 2. add a timeout to the logging INSERT, this leads to more data loss than #33764 but makes for less changes, and is necessary to avoid risks of new future deadlocks in this specific likely case.
Users attempting to use the IoT scan button in Microsoft Edge or Internet Explorer now receive a clear error instead of facing a broken experience. The change also adds a check to help ensure required access information is present, reducing avoidable setup issues.
Original PR description
The API WebRTC is unusable with EDGE or IE. So now we send a error to customer. More we add a test to check if the token is present Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>