Ensure `retry_lease` option is true when merge is happening in async worker
The following discussion from !128202 (merged) should be addressed:
-
@stanhu started a discussion: (+1 comment) I'm wondering if we should always enable this flag whenever the refresh is done in a background job:
% git grep "MergeRequests::MergeService.new" app/graphql/mutations/merge_requests/accept.rb: merge_service = ::MergeRequests::MergeService.new(project: project, current_user: current_user, params: merge_params) app/workers/merge_worker.rb: MergeRequests::MergeService.new(project: merge_request.target_project, current_user: current_user, params: params) ee/app/services/merge_trains/refresh_merge_request_service.rb: MergeRequests::MergeService.new(project: project, current_user: merge_user, params: merge_request.merge_params.with_indifferent_access)
Two questions that are separate from this merge request:
- Should
app/workers/merge_worker.rb
also havecheck_mergeability_retry_lease
set totrue
? - Should the GraphQL call above should not be calling
MergeService
directly but rather scheduling aMergeWorker
job? @.luke @dskim_gitlab What do you think?
- Should
Availability and Testing
Regression testing, please ensure associated MR is labelled with pipeline:run-all-e2e and e2e:package-and-test
job is passing (MR-related tests).