Skip to Content
Меню
Вам необхідно зареєструватися, щоб взаємодіяти зі спільнотою.
Це запитання позначене
2 Відповіді
15409 Переглядів

I have many schedulers which run in background. Few schedulers import thousand of orders daily from different e-commerce channels. These orders are validated and delivered based on order status in Odoo. 

We also create manual refund through Odoo system. Sometimes we get concurrency error when schedulers run in background. This time we got different error of resource sharing.


2015-05-15 18:32:04,222 3333 ERROR DB_Name openerp.sql_db: bad query: SELECT number_next FROM ir_sequence WHERE id=42 FOR UPDATE NOWAIT

Traceback (most recent call last):

File "/path_to_odoo/openerp/sql_db.py", line 234, in execute

res = self._obj.execute(query, params)

OperationalError: could not obtain lock on row in relation "ir_sequence"


When I looked into ir_sequence table I found id 42 is linked with Customer Payments.


id | create_uid | code | create_date | suffix | number_next | number_increment | implementation | company_id | write_uid | padding | active | prefix | write_date | name

----+------------+------+----------------------------+--------+-------------+------------------+----------------+------------+-----------+---------+--------+----------------+----------------------------+------

42 | 1 | | 2014-10-24 10:48:30.265072 | | 197736 | 1 | no_gap | 1 | 1 | 4 | t | BNK2/%(year)s/ | 2014-10-24 10:48:30.265072 | Bank


Can anyone help me to know why threads are not releasing resource after granting lock? Is there any work around for above problem?

Аватар
Відмінити
Найкраща відповідь

For me, the error stops when changing the "implementation" field of the sequence (ir_sequence WHERE id=42) to "standard" in Odoo v8.

Аватар
Відмінити
Найкраща відповідь

Try changing number_increment to standard. 


Аватар
Відмінити
Related Posts Відповіді Переглядів Дія
3
груд. 21
9698
0
черв. 21
2720
1
груд. 17
5947
1
серп. 17
5154
2
бер. 24
12067