c2c-oerpscenario team mailing list archive
-
c2c-oerpscenario team
-
Mailing list archive
-
Message #23931
[Bug 770243] Re: Creating 4000+ locations slow down the mrp module installations and confirming sale order.
Hello,
Thank you for the update. Now the performance improved very much. But there is one issue when two or more people trying to do sale order confirmation simultaneously. The error message is given below.
Environment Information :
System : Linux-2.6.38-8-generic-x86_64-with-Ubuntu-11.04-natty
OS Name : posix
Distributor ID: Ubuntu
Description: Ubuntu 11.04
Release: 11.04
Codename: natty
Operating System Release : 2.6.38-8-generic
Operating System Version : #42-Ubuntu SMP Mon Apr 11 03:31:24 UTC 2011
Operating System Architecture : 64bit
Operating System Locale : en_IN.ISO8859-1
Python Version : 2.7.1+
OpenERP-Client Version : 6.0.2
Last revision No. & ID :0 null:
Traceback (most recent call last):
File "/home/user/workspace/npg/bin/netsvc.py", line 489, in dispatch
result = ExportService.getService(service_name).dispatch(method, auth, params)
File "/home/user/workspace/npg/bin/service/web_services.py", line 599, in dispatch
res = fn(db, uid, *params)
File "/home/user/workspace/npg/bin/addons/audittrail/audittrail.py", line 538, in exec_workflow
return super(audittrail_objects_proxy, self).exec_workflow(db, uid, model, method, *args, **argv)
File "/home/user/workspace/npg/bin/osv/osv.py", line 122, in wrapper
return f(self, dbname, *args, **kwargs)
File "/home/user/workspace/npg/bin/osv/osv.py", line 196, in exec_workflow
res = self.exec_workflow_cr(cr, uid, obj, method, *args)
File "/home/user/workspace/npg/bin/osv/osv.py", line 189, in exec_workflow_cr
return wf_service.trg_validate(uid, obj, args[0], method, cr)
File "/home/user/workspace/npg/bin/workflow/wkf_service.py", line 80, in trg_validate
res2 = instance.validate(cr, id, ident, signal)
File "/home/user/workspace/npg/bin/workflow/instance.py", line 48, in validate
workitem.process(cr, witem, ident, signal, force_running, stack=stack)
File "/home/user/workspace/npg/bin/workflow/workitem.py", line 61, in process
ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
File "/home/user/workspace/npg/bin/workflow/workitem.py", line 174, in _split_test
_join_test(cr, t[0], t[1], ident, stack)
File "/home/user/workspace/npg/bin/workflow/workitem.py", line 182, in _join_test
create(cr,[activity], inst_id, ident, stack)
File "/home/user/workspace/npg/bin/workflow/workitem.py", line 41, in create
process(cr, res, ident, stack=stack)
File "/home/user/workspace/npg/bin/workflow/workitem.py", line 61, in process
ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
File "/home/user/workspace/npg/bin/workflow/workitem.py", line 174, in _split_test
_join_test(cr, t[0], t[1], ident, stack)
File "/home/user/workspace/npg/bin/workflow/workitem.py", line 182, in _join_test
create(cr,[activity], inst_id, ident, stack)
File "/home/user/workspace/npg/bin/workflow/workitem.py", line 41, in create
process(cr, res, ident, stack=stack)
File "/home/user/workspace/npg/bin/workflow/workitem.py", line 61, in process
ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
File "/home/user/workspace/npg/bin/workflow/workitem.py", line 174, in _split_test
_join_test(cr, t[0], t[1], ident, stack)
File "/home/user/workspace/npg/bin/workflow/workitem.py", line 182, in _join_test
create(cr,[activity], inst_id, ident, stack)
File "/home/user/workspace/npg/bin/workflow/workitem.py", line 41, in create
process(cr, res, ident, stack=stack)
File "/home/user/workspace/npg/bin/workflow/workitem.py", line 53, in process
result = _execute(cr, workitem, activity, ident, stack)
File "/home/user/workspace/npg/bin/workflow/workitem.py", line 107, in _execute
wkf_expr.execute(cr, ident, workitem, activity)
File "/home/user/workspace/npg/bin/workflow/wkf_expr.py", line 68, in execute
return _eval_expr(cr, ident, workitem, activity['action'])
File "/home/user/workspace/npg/bin/workflow/wkf_expr.py", line 58, in _eval_expr
ret = eval(line, env, nocopy=True)
File "/home/user/workspace/npg/bin/tools/safe_eval.py", line 284, in safe_eval
return eval(test_expr(expr,_SAFE_OPCODES, mode=mode), globals_dict, locals_dict)
File "", line 1, in <module>
File "/home/user/workspace/npg/bin/osv/orm.py", line 181, in <lambda>
return lambda *args, **argv: attr(self._cr, self._uid, [self._id], *args, **argv)
File "/home/user/workspace/npg/bin/addons/sale/sale.py", line 674, in action_ship_create
pick_name = self.pool.get('ir.sequence').get(cr, uid, 'stock.picking.out')
File "/home/user/workspace/npg/bin/addons/base/ir/ir_sequence.py", line 97, in get
return self.get_id(cr, uid, code, test='code')
File "/home/user/workspace/npg/bin/addons/account/sequence.py", line 64, in get_id
context=context)
File "/home/user/workspace/npg/bin/addons/base/ir/ir_sequence.py", line 86, in get_id
(sequence_id, company_id))
File "/home/user/workspace/npg/bin/sql_db.py", line 78, in wrapper
return f(self, *args, **kwargs)
File "/home/user/workspace/npg/bin/sql_db.py", line 131, in execute
res = self._obj.execute(query, params)
OperationalError: could not obtain lock on row in relation "ir_sequence"
--
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 Modules (addons):
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.
References