diff options
Diffstat (limited to 'app/services/merge_requests/create_service.rb')
-rw-r--r-- | app/services/merge_requests/create_service.rb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/app/services/merge_requests/create_service.rb b/app/services/merge_requests/create_service.rb index c1292d924b2..9c525ae8489 100644 --- a/app/services/merge_requests/create_service.rb +++ b/app/services/merge_requests/create_service.rb @@ -31,6 +31,14 @@ module MergeRequests private + def before_create(merge_request) + # If the fetching of the source branch occurs in an ActiveRecord + # callback (e.g. after_create), a database transaction will be + # open while the Gitaly RPC waits. To avoid an idle in transaction + # timeout, we do this before we attempt to save the merge request. + merge_request.eager_fetch_ref! + end + def set_projects! # @project is used to determine whether the user can set the merge request's # assignee, milestone and labels. Whether they can depends on their |