Uniqueness check is not safe for concurrent modifications
olle opened this issue · comments
Olle Törnström commented
So the use of a local reference to the value held in any of the concurrent maps, for example a set of string values for the email addresses of some user UUID, is not guarded against concurrent modifications.
I believe the checks may fail between the if-statements, in case the set is changed in an unpredictible way. We've just recorded log-statements where the non-unique value is empty, hinting at it being cleared after the check of it being empty.
I'll try to address this in a fix.