MM-41752: Batch update mention increment (#19596)
Previously, we were incrementing mentions one-by-one all concurrently in an unbounded fashion. This would cause a big spike in memory usage if there were an `@all` mention in a large channel. We fix this by changing the SQL query to take all userIDs at once. https://mattermost.atlassian.net/browse/MM-41752 ```release-note NONE ``` Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
dd100a3a69
Коммит
768fe43d3a
@@ -1605,10 +1605,10 @@ func (s *TimerLayerChannelStore) GroupSyncedChannelCount() (int64, error) {
|
||||
return result, err
|
||||
}
|
||||
|
||||
func (s *TimerLayerChannelStore) IncrementMentionCount(channelID string, userID string, isRoot bool) error {
|
||||
func (s *TimerLayerChannelStore) IncrementMentionCount(channelID string, userIDs []string, isRoot bool) error {
|
||||
start := timemodule.Now()
|
||||
|
||||
err := s.ChannelStore.IncrementMentionCount(channelID, userID, isRoot)
|
||||
err := s.ChannelStore.IncrementMentionCount(channelID, userIDs, isRoot)
|
||||
|
||||
elapsed := float64(timemodule.Since(start)) / float64(timemodule.Second)
|
||||
if s.Root.Metrics != nil {
|
||||
|
||||
Ссылка в новой задаче
Block a user