summaryrefslogtreecommitdiffstats
path: root/app/import.go
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2018-06-27 05:08:40 -0400
committerGeorge Goldberg <george@gberg.me>2018-06-27 10:08:40 +0100
commit0d91bf323ec32f46453b2c4c1877e8eeb830ab4d (patch)
treed458825ac3f5c710e95fc171fa23217377e53b37 /app/import.go
parentf17c15c9d83e42e46adb8e8c1fb9706b22fe6f50 (diff)
downloadchat-0d91bf323ec32f46453b2c4c1877e8eeb830ab4d.tar.gz
chat-0d91bf323ec32f46453b2c4c1877e8eeb830ab4d.tar.bz2
chat-0d91bf323ec32f46453b2c4c1877e8eeb830ab4d.zip
Lock bulk importing to master database node (#9012)
Diffstat (limited to 'app/import.go')
-rw-r--r--app/import.go3
1 files changed, 3 insertions, 0 deletions
diff --git a/app/import.go b/app/import.go
index 04e71b64c..64e53fe93 100644
--- a/app/import.go
+++ b/app/import.go
@@ -209,6 +209,9 @@ func (a *App) BulkImport(fileReader io.Reader, dryRun bool, workers int) (*model
scanner := bufio.NewScanner(fileReader)
lineNumber := 0
+ a.Srv.Store.LockToMaster()
+ defer a.Srv.Store.UnlockFromMaster()
+
errorsChan := make(chan LineImportWorkerError, (2*workers)+1) // size chosen to ensure it never gets filled up completely.
var wg sync.WaitGroup
var linesChan chan LineImportWorkerData