-
Notifications
You must be signed in to change notification settings - Fork 28
Remove references to Statistics of unloaded plugins #238
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
guusdk
added a commit
to guusdk/openfire-monitoring-plugin
that referenced
this issue
Sep 29, 2022
…gins When another plugin provides a Statistic instance, that instance should be released when the provider unloads. Failing to do so will prevent that plugin's classloader from being destroyed. This can cause all kinds of unexpected side-effects. This commit removes references to _all_ Statistic instances whenever _any_ plugin unloads. That's a buckshot, but the effects should be limited to missing stats around the time that a plugin gets unloaded/reloaded - which is expected to be very rare.
guusdk
added a commit
to guusdk/openfire-restAPI-plugin
that referenced
this issue
Sep 29, 2022
This commit adds statistics for every response generated in response to a HTTP request on one of the REST API endpoints. The statistics show the amount of responses for each particular 'family' of status codes (1xx, 2xx, 3xx, 4xx and 5xx). The Monitoring plugin can be used to review graphs of this data. Note that the current latest release of the Monitoring plugin (2.3.1) has an issue that affects the functionality when a plugin that _provides_ a statistic is unloaded/reloaded. See igniterealtime/openfire-monitoring-plugin#238 for details. It is recommended to use this commit only in combination with a version of the Monitoring plugin in which this issue is fixed. A work-around for the issue, if it does occur, is to restart Openfire after a plugin has been unloaded/reloaded.
guusdk
added a commit
to guusdk/openfire-restAPI-plugin
that referenced
this issue
Sep 29, 2022
This commit adds statistics for every response generated in response to a HTTP request on one of the REST API endpoints. The statistics show the amount of responses for each particular 'family' of status codes (1xx, 2xx, 3xx, 4xx and 5xx). The Monitoring plugin can be used to review graphs of this data. Note that the current latest release of the Monitoring plugin (2.3.1) has an issue that affects the functionality when a plugin that _provides_ a statistic is unloaded/reloaded. See igniterealtime/openfire-monitoring-plugin#238 for details. It is recommended to use this commit only in combination with a version of the Monitoring plugin in which this issue is fixed. A work-around for the issue, if it does occur, is to restart Openfire after a plugin has been unloaded/reloaded.
guusdk
added a commit
to igniterealtime/openfire-restAPI-plugin
that referenced
this issue
Sep 29, 2022
This commit adds statistics for every response generated in response to a HTTP request on one of the REST API endpoints. The statistics show the amount of responses for each particular 'family' of status codes (1xx, 2xx, 3xx, 4xx and 5xx). The Monitoring plugin can be used to review graphs of this data. Note that the current latest release of the Monitoring plugin (2.3.1) has an issue that affects the functionality when a plugin that _provides_ a statistic is unloaded/reloaded. See igniterealtime/openfire-monitoring-plugin#238 for details. It is recommended to use this commit only in combination with a version of the Monitoring plugin in which this issue is fixed. A work-around for the issue, if it does occur, is to restart Openfire after a plugin has been unloaded/reloaded.
A work-around for the issue is restarting Openfire after a plugin that provides statistics is reloaded or upgraded in Openfire. |
guusdk
added a commit
to guusdk/openfire-monitoring-plugin
that referenced
this issue
Nov 22, 2022
…gins When another plugin provides a Statistic instance, that instance should be released when the provider unloads. Failing to do so will prevent that plugin's classloader from being destroyed. This can cause all kinds of unexpected side-effects. This commit removes references to _all_ Statistic instances whenever _any_ plugin unloads. That's a buckshot, but the effects should be limited to missing stats around the time that a plugin gets unloaded/reloaded - which is expected to be very rare.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The monitoring plugin displays data that is collected by implementations of
org.jivesoftware.openfire.stats.Statistic
. This data is mainly used to populate RRD databases and display graphs.When a
Statistic
instance is provided by another plugin, it can disappear, when that plugin gets unloaded (or reloaded).The Monitoring plugin keeps a reference to a
Statistic
instance indefinitely. It should release the reference if the instance was provided by a plugin that is being unloaded. Failing to do so will prevent that plugin's classloader from being removed. This keeps various entities that should be removed available, with various (undesired) side-effects: one of which is that the graphs shown by the Monitoring plugin for that particular plugin fail to show new data.The text was updated successfully, but these errors were encountered: