You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Alex Parvulescu (JIRA)" <ji...@apache.org> on 2016/11/03 12:55:58 UTC

[jira] [Updated] (FELIX-5394) Memoryusage plugin creates a heap dump on every notification

     [ https://issues.apache.org/jira/browse/FELIX-5394?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alex Parvulescu updated FELIX-5394:
-----------------------------------
    Attachment: FELIX-5394-v0.patch

attaching initial proposal for a fix. I didn't include fixes for all listed issue, wanted to get some feedback first.
Patch includes:
* do not set (or disable) the threshold notification on a pool if it's already set at a smaller value.
* do not create a heap dump if the threshold is configured at 0, (basically disabling the heap dump mechanics).

I did not include the idea to allow multiple listeners to be registered on the notification with different values. including this would mean that this plugin would ignore received notifications if the available memory is not in the configured interval.

> Memoryusage plugin creates a heap dump on every notification
> ------------------------------------------------------------
>
>                 Key: FELIX-5394
>                 URL: https://issues.apache.org/jira/browse/FELIX-5394
>             Project: Felix
>          Issue Type: Bug
>          Components: Web Console
>            Reporter: Alex Parvulescu
>         Attachments: FELIX-5394-v0.patch
>
>
> As a part of OAK-4966 I'm trying to install a listener on available memory with a notification when a certain available memory threshold is met [0]. This seems to clash a bit with the current {{memoryusage}} plugin, as both jmx listeners try to change the threshold for the notification, and subsequently both might receive the notification at a different value than expected. (for example I'm setting a notification at {{15%}} and even though the {{memoryusage}} plugin is not used and is currently set at {{0%}} it will still create a heap dump:
> {noformat}
> *WARN* [Service Thread] org.apache.felix.webconsole.plugins.memoryusage Received Memory Threshold Exceeded Notification, dumping Heap
> {noformat}
> I have 2 suggestions:
> * first is to _not_ change the threshold value if it's already set at a smaller value. this means the plugin will not break other listeners expectations of receiving an event
>  
> * second is to verify the locally set threshold value against the values seen at notification time. this effectively means the plugin is free to ignore certain events, and not dump the heap to disk every time it gets a ping [1].
> I would like to provide a patch for this issue pretty soon as I really need to fix OAK-4966, unless someone is more eager to come up with a working solution.
> [0] https://issues.apache.org/jira/browse/OAK-4966?focusedCommentId=15629253&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15629253
> [1] https://github.com/apache/felix/blob/trunk/webconsole-plugins/memoryusage/src/main/java/org/apache/felix/webconsole/plugins/memoryusage/internal/MemoryUsageSupport.java#L553



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)