[Wiki] find page should return nil if not found
Severl errors (such as https://sentry.gitlab.net/gitlab/gitlabcom/issues/1673927/?referrer=gitlab_plugin) are caused by calls to find_page
that expect the call to return nil
if not found. Currently we are raising errors for invalid arguments, but for the most case we should just return not-found here too.
GRPC::InvalidArgument: 3:WikiFindPage: revision can't contain ':'
grpc/generic/active_call.rb:31:in `check_status'
fail GRPC::BadStatus.new_status_exception(
grpc/generic/active_call.rb:181:in `attach_status_results_and_complete_call'
recv_status_batch_result.check_status
grpc/generic/active_call.rb:170:in `receive_and_check_status'
attach_status_results_and_complete_call(batch_result)
grpc/generic/active_call.rb:338:in `each_remote_read_then_finish'
receive_and_check_status
ArgumentError: 3:WikiFindPage: revision can't contain ':'
gitlab/git/wraps_gitaly_errors.rb:11:in `rescue in wrapped_gitaly_errors'
raise ArgumentError.new(e)
gitlab/git/wraps_gitaly_errors.rb:6:in `wrapped_gitaly_errors'
def wrapped_gitaly_errors(&block)
gitlab/git/wiki.rb:101:in `page'
wrapped_gitaly_errors do
wiki.rb:118:in `find_page'
if page = wiki.page(title: page_title, version: version, dir: page_dir)
wiki_actions.rb:180:in `block in page'
wiki.find_page(*page_params)
...
(148 additional frame(s) were not displayed)
ArgumentError: 3:WikiFindPage: revision can't contain ':'