summaryrefslogtreecommitdiff
path: root/changelogs
diff options
context:
space:
mode:
authorYorick Peterse <yorickpeterse@gmail.com>2018-06-04 16:20:01 +0200
committerYorick Peterse <yorickpeterse@gmail.com>2018-06-04 18:33:56 +0200
commit71ed7987d3a7ab16677cb2b87721f391e8daaf13 (patch)
treeadf08481293e0542eb1ccc7e648dd6281ac6cdcc /changelogs
parent9c2961947826442e780285cb551583b09cf6dae9 (diff)
downloadgitlab-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.yml5
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