[ 
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)

Reply via email to