Agniva De Sarker 8f9e2669a6 MM-34419: Fix plugin enable race (#17511)
A race happens when we try to enable plugins
in an HA environment. There is no loss in functionality
here, but it's a timing bug.

There are two bugs here.

The first one is a case of nested config listeners. a.InitPlugins
is called in InitServer, and as well as a config listener. And that
calls a.SyncPluginsActiveState(). But inside a.InitPlugins,
there is yet another config listener which again calls
a.SyncPluginsActiveState(). The first fix is to simply not call
the method again from the nested listener.

The second bug happens because the config changed message is sent
across the cluster only after saving the config locally
in the store. To fix this, we simply change GetPluginStatus
to not fail and return empty status when other nodes don't have plugins
enabled.

https://mattermost.atlassian.net/browse/MM-34419

```release-note
Fix a race condition where enabling plugins would result
in spurious errors in the logs.
```
2021-04-30 07:16:57 -07:00
2021-04-27 10:30:48 +02:00
2021-01-04 15:21:01 +01:00
2021-03-05 09:18:37 +01:00
2020-01-23 12:34:29 +01:00
2021-03-12 12:37:30 -05:00
2021-03-05 09:18:37 +01:00
2020-03-13 18:35:31 +01:00
2019-04-04 09:49:07 -04:00
2018-05-30 10:23:25 -04:00
2021-01-22 19:40:37 +01:00

Mattermost

Mattermost is an open source, private cloud, Slack-alternative from https://mattermost.com.

It's written in Golang and React and runs as a single Linux binary with MySQL or PostgreSQL. Every month on the 16th a new compiled version is released under an MIT license.

screenshot at nov 29 14-11-32

Table of Contents

Try out Mattermost

Deploy on Heroku

Deploy a Preview

Note: Heroku preview does not include email or persistent storage

Deploy on a Cloud Platform via Bitnami

Auto-deploy Mattermost to Amazon Web Services, Azure, Google Cloud Platform, or Oracle Cloud Platform via Bitnami.

Install on Your Own Machine

Native Mobile and Desktop Apps

In addition to the web interface, you can also download Mattermost clients for Android, iOS, Windows PC, Mac OSX, and Linux.

Google Play App Store Windows PC Mac OSX Linux

Get Security Bulletins

Receive notifications of critical security updates. The sophistication of online attackers is perpetually increasing. If you are deploying Mattermost it is highly recommended you subscribe to the Mattermost Security Bulletin mailing list for updates on critical security releases.

Get Involved

Learn More

License

See the LICENSE file for license rights and limitations.

Get the Latest News

Contributing

Please see CONTRIBUTING.md.

Any other questions, mail us at info@mattermost.com. Wed love to meet you!

Description
Mattermost is an open source platform for secure collaboration across the entire software development lifecycle..
Readme 1.2 GiB
Languages
TypeScript 46.9%
Go 40.2%
JavaScript 8.6%
SCSS 2.8%
HTML 1.1%
Other 0.3%