Why do comment counts often disagree with what I see?

br3d@lemmy.world to Fediverse@lemmy.world – 217 points –
42

You are viewing a single comment

Ok, so basically, there is multiple ways one could comment count. The most obvious option is to count the actual number of comments under the post. This might be in practice slow, as you must load all comments under the post. An alternative approach is to have a count variable for post, which is increased or decreased by 1 if post is added/removed. It's way faster to retrieve that variable, instead of getting all comments and counting the number of them. The problem starts if some anomaly happens that is not accounted for, so for example, if I request the same comment to be deleted multiple times. So that counter can be decreased more than once for the same comment. This could be fixed pretty easily:

if comment_to_delete is deleted {
	// Do not do anything
	return
}

post.comment_count -= 1
delete_comment(comment_to_delete)

And yeah, I thought so too, but ever since I stumbled upon this bug, I think the way the comment count is stored is through the counter variable.

I had also read that editing a comment increases the comment count on a post.

8 more...