Remove .no_timeout as a timeout option from GitalyClient
Problem to solve
We have a range of timeout values defined in GitalyClient
. One of these values is no_timeout
. There is an issue with no_timeout
, as some calls have been known to hang forever (see https://gitlab.com/gitlab-org/gitlab-ce/issues/53704).
no_timeout
currently will become the default timeout for a Gitaly call from a Sidekiq worker if no timeout:
argument was passed to Gitaly.call
.
Proposal
- Replace
Gitaly.no_timeout
with a very high timeout value. All cases ofGitaly.no_timeout
in the app should use this new high timeout instead. This new high timeout value will be calledslow_timeout
Up for discussion
Note: These were the initial set of questions, however, please read the discussions in this Issue as some answers are being formed there.
- Should the default timeout for Sidekiq jobs become the same as for non-Sidekiq calls? Or,
- Should there be a new user-configurable default timeout created for Sidekiq jobs? (a
gitaly_timeout_worker_default
), or - Should the default timeout for Sidekiq jobs become
slow_timeout
- Should
slow_timeout
be set to 24 hours?
Documentation
To be updated:
Edited by Luke Duncalfe