← Back to team overview

c2c-oerpscenario team mailing list archive

[Bug 770243] Re: Creating 4000+ locations slow down the mrp module installations and confirming sale order.

 

Hello,

Here is a patch with a more efficient rewrite of the stock reservation
algorithm. It should be much lighter in terms of time and resources,
even with location numbers in the thousands.

You may want to try this patch in a test database, and tell if that
works for you, and with or without side effects.

Side note: managing thousands of stock locations in the same OpenERP
database indicates that you are either in a very large multi-company
setup, or that a granularity level is missing in OpenERP to represent
what you need (e.g. sublocations, drawers, etc.) It would be interesting
(from R&D point of view) to know the situation you face, so that we
could provide better features in the future :-)

I am going to upload this patch as a separate bugfix branch as well.

** Patch added: "rewrite of product reservation code"
   https://bugs.launchpad.net/openobject-server/+bug/770243/+attachment/2122828/+files/770243.patch

-- 
You received this bug notification because you are a member of C2C
OERPScenario, which is subscribed to the OpenERP Project Group.
https://bugs.launchpad.net/bugs/770243

Title:
  Creating 4000+ locations slow down the mrp module installations and
  confirming sale order.

Status in OpenERP Server:
  Fix Committed

Bug description:
  Hi,
  We imported 4197 locations in openerp. After that installation of mrp modules taking hours and conforming one sale order taking more than one minute. The system is slowing down on the function _product_reserve which is in "bin/addons/stock/stock.py" in class stock_location line 362.

  Sometimes it is throwing the following error
  OperationalError: out of shared memory
  HINT: You might need to increase max_locks_per_transaction.

  The server we are using 6.0.2 stable.
  The locations we used to import is attached with this bug report.

  Please improve the performance of _product_reserve function so that it
  will not hang when the number of locations are in thousands range.

  Thank you.


Follow ups

References