Commit Graph
9 Commits
Author SHA1 Message Date
Josse Colpaert b0acb42f0b [FIX] stock: avoid infinite or longer than necessary loops
In some cases the MRP scheduler can remain blocked on an infinite loop
consuming a lot of CPU. The reason comes from the loop 'Check done
procurements'

If a new procument is created from another process (such like MTO
orders) during this loop, the process never ends.

The only way to reproduce is in debug mode:
1. Put a breakpoint on line 'Check done procurements'
2. Launch the MRP scheduler manually and stay paused on the breakpoint
3. In parrallel, create and confirm a sale order with a MTO route, this
   will trigger the creation of a new procurement order in state
   'Running'
4. Continue debugging step by step the scheduler and you will notice
   that the loop never ends.

Closes #21565
opw-787651
2017-12-12 15:20:57 +01:00
amoyaux 85e21d1725 [FIX] stock : scheduler release lock too fast
Issue: 741582

This bug happens when you click multiple time quickly on 'run scheduler' button
or if you call 'run reordering rules' and then 'run scheduler' rapidly
It could create duplicate PO or MO.

This happens because the run_scheduler function free the lock while it should
not. ProcurementSudo was created with the old cursor that contains the lock and
the record set that search returns also contains this cursor. The run will call the record set with the bad cursor and commit the lock instead of the wanted
behavior.

This commit creates the ProcurementSudo with the new cursor that does not
contains the lock.
2017-05-03 13:43:21 +02:00
Christophe Simonis 235ed4b2c1 [MERGE] forward port branch saas-12 up to 9ad5f26 2016-08-20 18:08:19 +02:00
Thibault Delavallée 3a1f84ff27 [MIG] procurement: migrate remaining code in old API 2016-08-10 15:48:08 +02:00
Thibault Delavallée c8a313d51e [IMP] various: use odoo for imports instead of openerp and update class names 2016-08-10 15:48:07 +02:00
Thibault Delavallée 16d462da8c [FIX] various: fix fields index parameter in new API still called select 2016-08-09 11:29:57 +02:00
Thibault Delavallée 838a6f2000 [FIX] varioius: fix digits_compute attribute changed to digits in new API 2016-08-09 11:00:10 +02:00
mtr-odoo e924881f7c [MIGR] procurement 2016-07-04 16:22:36 +02:00
mtr-odoo c458756f0a [MOV] procurement: move and split 2016-07-04 16:22:36 +02:00