MM-62964: Skip setting replica lag handle in case of an error (#30498)
Previously, we would set it to nil pointer which would eventually cause a panic when ReplicaLagAbs/ReplicaLagTime would get called. https://mattermost.atlassian.net/browse/MM-62964 ```release-note NONE ``` Co-authored-by: Mattermost Build <build@mattermost.com>
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
3b9f9b209a
Коммит
a51a8e9b60
@@ -341,16 +341,17 @@ func (ss *SqlStore) initConnection() error {
|
||||
}
|
||||
|
||||
if len(ss.settings.ReplicaLagSettings) > 0 {
|
||||
ss.replicaLagHandles = make([]*dbsql.DB, len(ss.settings.ReplicaLagSettings))
|
||||
ss.replicaLagHandles = make([]*dbsql.DB, 0, len(ss.settings.ReplicaLagSettings))
|
||||
for i, src := range ss.settings.ReplicaLagSettings {
|
||||
if src.DataSource == nil {
|
||||
continue
|
||||
}
|
||||
ss.replicaLagHandles[i], err = sqlUtils.SetupConnection(ss.Logger(), fmt.Sprintf(replicaLagPrefix+"-%d", i), *src.DataSource, ss.settings, DBReplicaPingAttempts)
|
||||
replicaLagHandle, err := sqlUtils.SetupConnection(ss.Logger(), fmt.Sprintf(replicaLagPrefix+"-%d", i), *src.DataSource, ss.settings, DBReplicaPingAttempts)
|
||||
if err != nil {
|
||||
mlog.Warn("Failed to setup replica lag handle. Skipping..", mlog.String("db", fmt.Sprintf(replicaLagPrefix+"-%d", i)), mlog.Err(err))
|
||||
continue
|
||||
}
|
||||
ss.replicaLagHandles = append(ss.replicaLagHandles, replicaLagHandle)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
|
||||
Ссылка в новой задаче
Block a user