summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/views/basic/basic_model.js
diff options
context:
space:
mode:
authorIvan Yelizariev <iel@odoo.com>2021-02-09 15:50:17 +0000
committerIvan Yelizariev <iel@odoo.com>2021-03-08 09:24:54 +0000
commitd3f74845b40870851c8140cac0a5f06510381445 (patch)
treefe68e505827f34ea84dd988e886746ce66c56492 /addons/web/static/src/js/views/basic/basic_model.js
parent6aaa1c07da5fc10004e278d14f9fa05720c96c79 (diff)
[FIX] bus: ignore concurrency errors on presence update
/longpolling/poll requests are most often requests to Odoo. Moreover, such requests may be sent at the same moment from all users. For example, when all users are subscribed to a common channel and someone sent a message, all current polls are closed to deliver the notification and after that, all clients start the request again. If some users have several clients open (e.g. on desktop and mobile), they may send many parallel requests and hence make concurrent queries to update presence. We don't need be sure that every such query is processed. So, just fail fast and carry on polling. To test perfomance impact of this commit, copy curl command for poll request from browser network tool and repeatly execute it, e.g., ``` for i in {1..1000} do sleep 0.1 curl ... & done ``` Without this commit you may notice such warnings in the logs: ``` ... odoo.service.model: SERIALIZATION_FAILURE, retry 1/5 in 0.2071 sec... ``` At that moment, try to make normal odoo operations (e.g. create a sale order): it would work slower than usual. --- opw-2451865 close #57067 closes odoo/odoo#67390 closes odoo/odoo#67437 X-original-commit: aad9cbe80dae28c0869fe6f543fbe0118357ce57 Signed-off-by: Ivan Yelizariev // IEL <yelizariev@users.noreply.github.com> Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
Diffstat (limited to 'addons/web/static/src/js/views/basic/basic_model.js')
0 files changed, 0 insertions, 0 deletions