The error indicates that you’ve attempted to modify a document, but have not supplied the current (or any) CAS. I find that strange to see on a query. I thought it was only possible from the kv api.
To effect the UPDATE, the Query service must first retrieve the original document then apply the desired changes and lastly attempt to write the changed document back to the data service. (If you EXPLAIN an UPDATE statement you can see the logic mapped out.) If multiple statements are attempting to update the same document at the same time, it is possible for them to all retrieve a copy of the document before any one manages to change it. Once one has changed it, the others will receive a CAS mismatch error when they attempt to write their changes.
This is the same as would be encountered by direct KV clients and is obviously timing dependent.
For example, if one client is only updating field A and another field B only, it would be safe/valid to repeat the update for whichever received the CAS mismatch. If they’re both updating the same field, then application logic must decide if the later changes are valid to overwrite the earlier ones.