When performing updates we always update the dataSize metric with the difference in size of the new and old entries. This performs some atomic arithmetic and performs a heap allocation for rollback handling to revert the arithmetic performed.
If the update doesn't modify the size, the metrics will be incremented/decremented by 0 so all of this is unnecessary.