It is possible that two updates come in with upsert:true, resulting in neither finding a document and both inserting new documents which conflict on unique index violations of the query predicate. In this case it is possible for the server to retry any failed updates.
Currently clients can retry the update to get the same behavior which is expected from the server.
This affects both updates and findAndModify. See
SERVER-10350 for slightly more background.