reputation for acceptance missing for answer that was temporarily deleted

Yesterday, I wrote this answer, but then realized that the OP had considered breaking things into specific cases, so I deleted my answer. Right after I deleted my answer, I saw that the OP had accepted my answer. I undeleted my answer and commented to the OP, asking if they indeed found the answer useful. They said yes, so I left the answer.

The answer is accepted, and shows as such in the list of my answers. However, I never received the reputation for the acceptance and it does not show up in the record of my reputation.

I'm not so worried about the 15 points, but I am curious about why this happened and hope that it can be fixed so that others won't miss reputation they've earned.

• The timeline shows the answer as unaccepted at the same time as accepted. Does the deletion of an accepted answer automatically unaccept it? If so, the bug may be in that undeletion does not properly reaccept the answer (no second acceptance event in timeline), hence does not return +15, – user147263 Aug 22 '14 at 14:46
• Further supporting evidence that the answer is not properly "accepted" is that if you hover over the check mark, the tooltip just claims to be fetching the time and user who accepted the answer. But no data is pulled from the database. I'd suggest to ask the user to unaccept and reaccept, see what happens. – Asaf Karagila Aug 22 '14 at 19:21
• @AsafKaragila Good catch. My guess is that acceptance (which is a kind of vote, stored in Votes table) gets deleted when the post is deleted (as other votes do), but does not get undeleted with the post. The answer has a checkmark because it has attribute is_accepted, seen through the API. But the accept-vote, which would confer +15, isn't there. – user147263 Aug 22 '14 at 19:32
• @900: Strangely the OP has +2 for accepting the answer. – Asaf Karagila Aug 22 '14 at 19:35
• @AsafKaragila Strange indeed. In the process of investigation, I filed two bug reports on Meta.SE. For example, Math has 67 answers that have the check mark, but are shown as unaccepted in timeline. – user147263 Aug 22 '14 at 20:45

This appears to be a race condition between deletion and acceptance. In the example linked above, the answer's revision history shows it was deleted at 6:23:36 on August 21, 2014. The timeline shows it was accepted at exactly the same time. Deleted answers lose the checkmark while they are deleted. In this case, the accept-vote got deleted and never restored (this is shown as "unaccept" event in the timeline).

I checked earlier instances of answers deleted/undeleted after being accepted: their owners still have +15. Most recent example is Definition of Harmonic Conjugates:

1. Answer was accepted on April 28
2. It was deleted (and then undeleted) on August 21 ... which I guess was you testing the system, precisely because of this question.
3. The accept-vote is preserved and +15 remains.

I admit observation bias: my query finds only answers with surviving accept-votes, because this is how it is written. There are circumstances when an answer is shown to be accepted (with a checkmark) but no accept-vote exists (hence no +15 is given):

1. Question owner was deleted before accept-votes began to be transferred to Community. Posted on Meta
2. Accept-vote was invalidated due to serial voting, also on Meta

As a side note:

... and hope that it can be fixed so that others won't miss reputation they've earned.

Deleting an accepted answer is a mod-only power. So that this potential bug only affects moderators. (Remember, except in very compelling circumstances we never delete accepted answers!)

• It had not shown as accepted until after it was deleted. However, I guess that this could be an side-effect of being a moderator and an almost simultaneous accept/delete. – robjohn Aug 22 '14 at 12:01