diff options
author | Yorick Peterse <yorickpeterse@gmail.com> | 2018-06-04 16:20:01 +0200 |
---|---|---|
committer | Yorick Peterse <yorickpeterse@gmail.com> | 2018-06-04 18:33:56 +0200 |
commit | 71ed7987d3a7ab16677cb2b87721f391e8daaf13 (patch) | |
tree | adf08481293e0542eb1ccc7e648dd6281ac6cdcc /changelogs | |
parent | 9c2961947826442e780285cb551583b09cf6dae9 (diff) | |
download | gitlab-ce-71ed7987d3a7ab16677cb2b87721f391e8daaf13.tar.gz |
Perform pull request IO work outside a transactiongh-importer-transactions
When importing a GitHub pull request we would perform all work in a
single database transaction. This is less than ideal, because we perform
various slow Git operations when creating a merge request. This in turn
can lead to many DB connections being used, while just waiting for an IO
operation to complete.
To work around this, we now move most of the heavy lifting out of the
database transaction. Some extra error handling is added to ensure we
can resume importing a partially imported pull request, instead of just
throwing an error.
This commit also changes the specs for IssueImporter so they don't rely
on deprecated RSpec methods.
Diffstat (limited to 'changelogs')
-rw-r--r-- | changelogs/unreleased/gh-importer-transactions.yml | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/changelogs/unreleased/gh-importer-transactions.yml b/changelogs/unreleased/gh-importer-transactions.yml new file mode 100644 index 00000000000..1489d60a3fb --- /dev/null +++ b/changelogs/unreleased/gh-importer-transactions.yml @@ -0,0 +1,5 @@ +--- +title: Move PR IO operations out of a transaction +merge_request: +author: +type: performance |