Tryton - Issues

 

Issue6504

Title Concurrent creation of line
Priority bug Status resolved
Superseder Nosy List ced, reviewbot, roundup-bot
Type behavior Components chronos
Assigned To ced Keywords review
Reviews 40351002
View: 40351002

Created on 2017-05-12.23:21:12 by ced, last changed by roundup-bot.

Messages
New changeset 048cf1b74715 by C?dric Krier in branch 'default':
Ensure only one pending set of synchronisation promises
http://hg.tryton.org/chronos/rev/048cf1b74715
review40351002 updated at https://codereview.tryton.org/40351002/#ps20001
msg33648 (view) Author: [hidden] (ced) (Tryton committer) (Tryton translator) Date: 2017-05-12.23:36:27
Indeed this design is not good enough for the case of a new line being edited during the waiting for the creation. So we must ensure only one synchronisation happens at a time.
New review40351002 at https://codereview.tryton.org/40351002/#ps1
msg33646 (view) Author: [hidden] (ced) (Tryton committer) (Tryton translator) Date: 2017-05-12.23:21:12
syncLines can be called many times while the promises to create new lines from the previous call are not yet resolved.
In this case a second creation is sent and the result is that those lines are created many times.
To avoid this case, I propose to unmark as dirty lines for which a promise is created. This will avoid any further call to fire a second call.
With this design, we can even find if the line was changed in between the call and the response because the line will be marked again as dirty. So in this case we should keep the modified values (and just get the new id for creation).
History
Date User Action Args
2017-05-22 18:08:40roundup-botsetstatus: testing -> resolved
nosy: + roundup-bot
messages: + msg33737
2017-05-19 00:18:28cedsetstatus: in-progress -> testing
2017-05-13 00:06:24reviewbotsetmessages: + msg33650
2017-05-12 23:36:27cedsetmessages: + msg33648
2017-05-12 23:34:53reviewbotsetnosy: + reviewbot
messages: + msg33647
2017-05-12 23:34:52reviewbotsetreviews: 40351002
keyword: + review
2017-05-12 23:21:12cedcreate

Showing 10 items. Show all history (warning: this could be VERY long)