@tenderlove `@_dirty_but_updated_counter_cache` is used here as `dirty`. It indicates that the counter cache has been updated, but the record itself has not been saved. When the record is saved and `belongs_to_counter_cache_after_update` is triggered, it needs to know that it should not update the counter_cache again.

More details are in the description of this pull request.