Lock bulk importing to master database node (#9012)
Этот коммит содержится в:
коммит произвёл
George Goldberg
родитель
f17c15c9d8
Коммит
0d91bf323e
@@ -65,6 +65,8 @@ type SqlStore interface {
|
||||
RemoveIndexIfExists(indexName string, tableName string) bool
|
||||
GetAllConns() []*gorp.DbMap
|
||||
Close()
|
||||
LockToMaster()
|
||||
UnlockFromMaster()
|
||||
Team() store.TeamStore
|
||||
Channel() store.ChannelStore
|
||||
Post() store.PostStore
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user