diff options
author | JoramWilander <jwawilander@gmail.com> | 2018-06-27 16:56:50 -0400 |
---|---|---|
committer | JoramWilander <jwawilander@gmail.com> | 2018-06-27 16:56:50 -0400 |
commit | 88c5e469ca869d9e8ceadb0f2b03e86005102f24 (patch) | |
tree | bbb1b4cc1312879476f222940651e4d3e763da9e /store/sqlstore/supplier.go | |
parent | d7976549a0b45a42c04ac043a15677b7ca1228e9 (diff) | |
parent | 437f9f5b64ddb4e1f84e6c4e993120d074001777 (diff) | |
download | chat-88c5e469ca869d9e8ceadb0f2b03e86005102f24.tar.gz chat-88c5e469ca869d9e8ceadb0f2b03e86005102f24.tar.bz2 chat-88c5e469ca869d9e8ceadb0f2b03e86005102f24.zip |
Merge branch 'master' into plugins-2
Diffstat (limited to 'store/sqlstore/supplier.go')
-rw-r--r-- | store/sqlstore/supplier.go | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/store/sqlstore/supplier.go b/store/sqlstore/supplier.go index 02a3cef7f..1e6bdcba1 100644 --- a/store/sqlstore/supplier.go +++ b/store/sqlstore/supplier.go @@ -105,6 +105,7 @@ type SqlSupplier struct { searchReplicas []*gorp.DbMap oldStores SqlSupplierOldStores settings *model.SqlSettings + lockedToMaster bool } func NewSqlSupplier(settings model.SqlSettings, metrics einterfaces.MetricsInterface) *SqlSupplier { @@ -283,7 +284,7 @@ func (ss *SqlSupplier) GetSearchReplica() *gorp.DbMap { } func (ss *SqlSupplier) GetReplica() *gorp.DbMap { - if len(ss.settings.DataSourceReplicas) == 0 { + if len(ss.settings.DataSourceReplicas) == 0 || ss.lockedToMaster { return ss.GetMaster() } @@ -801,6 +802,14 @@ func (ss *SqlSupplier) Close() { } } +func (ss *SqlSupplier) LockToMaster() { + ss.lockedToMaster = true +} + +func (ss *SqlSupplier) UnlockFromMaster() { + ss.lockedToMaster = false +} + func (ss *SqlSupplier) Team() store.TeamStore { return ss.oldStores.team } |