This question has been flagged

Odoo version - 13 community

I am customizing live chat and sometimes get the error, that logined user who is operator of this live chat sends message as visitor and messages aren't loaded. After reload of the page messages appear but when enter new messages - they are not appear until other reload. Important notice: this user logged in several PC  and on some of them this bug is reproduced and on the others not. The same issue can happen with a visitor of website too.

At that time in logs there is error:

odoo.sql_db: bad query: UPDATE "bus_presence" SET "last_poll"='2021-02-10 15:12:23' WHERE id IN (1)

2021-02-11 11:37:44,858 11808 INFO prod odoo.service.model: SERIALIZATION_FAILURE, retry 1/5 in 0.9900 sec...

ERROR: could not serialize access due to concurrent update

In case with visitor error

 ERROR prod odoo.sql_db: bad query: UPDATE "mail_channel_partner" SET "write_uid"=2,"seen_message_id"=849,"fetched_message_id"=849,"write_date"=(now() at time zone 'UTC') WHERE id IN (632)

ERROR: could not serialize access due to concurrent update

2021-02-11 14:29:44,858 11808 INFO prod odoo.service.model: SERIALIZATION_FAILURE, retry 1/5 in 0.9900 sec...


When I go to BusService class I see docstring 


User Presence

        Its status is 'online', 'away' or 'offline'. This model should be a one2one, but is not

        attached to res_users to avoid database concurrence errors. Since the 'update' method is executed

        at each poll, if the user have multiple opened tabs, concurrence errors can happend, but are 'muted-logged'.

https://github.com/odoo/odoo/blob/5d9ed8b52b8f771b6f6a04aa4ec3ac7dbc6ffc42/addons/bus/models/bus_presence.py#L14

At the same time person who expiriencing this has JS console bug:

Service website_livechat.livechat_request already defined


My suggestion was that problem that at the same time several people logged in under the same user or that user as operator sends update on bus_presence as well as user sends it as visitor of the site. However when everybody logs out except one person who is experiences this problem - he still has this issue. 

I have found the similar issue on github

https://github.com/odoo/odoo/issues/2919 
And noticed that this error was muted and just appearing in logs, but because of this issue messages aren't appear in chat window even if it muted. From advice in github I tryed to settle max_cron_threads = 1, but this didn't solved problem completely.
Please advice ways of workaround this problem either by changing config or changing python or javascript code.

Thanks in advance.

Avatar
Discard