Why check 'app_id' is empty inside Update() function? As my thought, app_id must not be empty in Update() and we should use DCHECK(!app_id.empty())  in Update().