← 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,
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