We have SolrCloud set up with two shards, each with a leader and a replica. We use haproxy to distribute requests between the four nodes.
Regardless of which node we send an add request to, following a commit, the newly-added document is returned in a search, as expected.
However, we can only delete a document if the delete request is sent to a node in the shard where the document was added. If we send the delete request to a node in the other shard (and then send a commit) the document is not deleted. Such a delete request will get a 200 response, with the following body:
Apart from the the very low QTime, this is indistinguishable from a successful delete.