You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org> on 2007/03/01 17:11:50 UTC

[jira] Created: (QPID-396) Broker OutOfMemory Error handling

Broker OutOfMemory Error handling
---------------------------------

                 Key: QPID-396
                 URL: https://issues.apache.org/jira/browse/QPID-396
             Project: Qpid
          Issue Type: Bug
          Components: Java Broker
            Reporter: Martin Ritchie
             Fix For: M2


When the broker runs out of memory the response to the client can be unpredicatable. 

If this is something that you believe may occur currently the best thing to do is to ensure that you are not hammering the broker with data. A slight pause between message sending should allow the broker time to throw the OutOfMemory Error during the handling of one of the methods rather than at the mina level when receiving the data. 

This should allow the broker to write a ConnectionClose frame back to the client. We could signal here that we are out of memory and stop listening for new connectons that will cause further OoM Errors.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (QPID-396) Broker OutOfMemory Error handling

Posted by "Marnie McCormack (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-396?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marnie McCormack updated QPID-396:
----------------------------------

    Fix Version/s:     (was: M4)

Moving items not being worked on afaik out of M4 Fix Version

> Broker OutOfMemory Error handling
> ---------------------------------
>
>                 Key: QPID-396
>                 URL: https://issues.apache.org/jira/browse/QPID-396
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: M1, M2
>            Reporter: Martin Ritchie
>            Assignee: Martin Ritchie
>
> When the broker runs out of memory the response to the client can be unpredicatable. 
> If this is something that you believe may occur currently the best thing to do is to ensure that you are not hammering the broker with data. A slight pause between message sending should allow the broker time to throw the OutOfMemory Error during the handling of one of the methods rather than at the mina level when receiving the data. 
> This should allow the broker to write a ConnectionClose frame back to the client. We could signal here that we are out of memory and stop listening for new connectons that will cause further OoM Errors.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (QPID-396) Broker OutOfMemory Error handling

Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-396?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12550956 ] 

Martin Ritchie commented on QPID-396:
-------------------------------------

Mina's swallowing of the exceptions prevents fully handling this problem. 

> Broker OutOfMemory Error handling
> ---------------------------------
>
>                 Key: QPID-396
>                 URL: https://issues.apache.org/jira/browse/QPID-396
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: M1, M2
>            Reporter: Martin Ritchie
>             Fix For: M3
>
>
> When the broker runs out of memory the response to the client can be unpredicatable. 
> If this is something that you believe may occur currently the best thing to do is to ensure that you are not hammering the broker with data. A slight pause between message sending should allow the broker time to throw the OutOfMemory Error during the handling of one of the methods rather than at the mina level when receiving the data. 
> This should allow the broker to write a ConnectionClose frame back to the client. We could signal here that we are out of memory and stop listening for new connectons that will cause further OoM Errors.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (QPID-396) Broker OutOfMemory Error handling

Posted by "Marnie McCormack (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-396?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marnie McCormack updated QPID-396:
----------------------------------

        Fix Version/s:     (was: M2)
                       M3
    Affects Version/s: M2
                       M1

Moving unresolved JIRAs from M2 to M3, in preparation for M2 release


> Broker OutOfMemory Error handling
> ---------------------------------
>
>                 Key: QPID-396
>                 URL: https://issues.apache.org/jira/browse/QPID-396
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: M1, M2
>            Reporter: Martin Ritchie
>             Fix For: M3
>
>
> When the broker runs out of memory the response to the client can be unpredicatable. 
> If this is something that you believe may occur currently the best thing to do is to ensure that you are not hammering the broker with data. A slight pause between message sending should allow the broker time to throw the OutOfMemory Error during the handling of one of the methods rather than at the mina level when receiving the data. 
> This should allow the broker to write a ConnectionClose frame back to the client. We could signal here that we are out of memory and stop listening for new connectons that will cause further OoM Errors.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (QPID-396) Broker OutOfMemory Error handling

Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-396?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12484425 ] 

Martin Ritchie commented on QPID-396:
-------------------------------------

116795 [SocketAcceptorIoProcessor-0.0] WARN org.apache.mina.common.support.DefaultExceptionMonitor - Unexpected exception.
java.lang.OutOfMemoryError: Java heap space

Setting the ExceptionMonitor.setInstance(...) would allow us to catch this OOM via the Mina callback.

> Broker OutOfMemory Error handling
> ---------------------------------
>
>                 Key: QPID-396
>                 URL: https://issues.apache.org/jira/browse/QPID-396
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>            Reporter: Martin Ritchie
>             Fix For: M2
>
>
> When the broker runs out of memory the response to the client can be unpredicatable. 
> If this is something that you believe may occur currently the best thing to do is to ensure that you are not hammering the broker with data. A slight pause between message sending should allow the broker time to throw the OutOfMemory Error during the handling of one of the methods rather than at the mina level when receiving the data. 
> This should allow the broker to write a ConnectionClose frame back to the client. We could signal here that we are out of memory and stop listening for new connectons that will cause further OoM Errors.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (QPID-396) Broker OutOfMemory Error handling

Posted by "Marnie McCormack (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-396?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12664167#action_12664167 ] 

Marnie McCormack commented on QPID-396:
---------------------------------------

We should not be attempting to perform any elegant client interaction on broker OOM. But we should go bang immediately on the broker side. Inherent in OOM scenarios is that you cannot (should never) assume there's enough memory to do anything else. We need to look at what (if anything) we need to do to encourage a clean store shutdown though.

> Broker OutOfMemory Error handling
> ---------------------------------
>
>                 Key: QPID-396
>                 URL: https://issues.apache.org/jira/browse/QPID-396
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: M1, M2
>            Reporter: Martin Ritchie
>            Assignee: Martin Ritchie
>
> When the broker runs out of memory the response to the client can be unpredicatable. 
> If this is something that you believe may occur currently the best thing to do is to ensure that you are not hammering the broker with data. A slight pause between message sending should allow the broker time to throw the OutOfMemory Error during the handling of one of the methods rather than at the mina level when receiving the data. 
> This should allow the broker to write a ConnectionClose frame back to the client. We could signal here that we are out of memory and stop listening for new connectons that will cause further OoM Errors.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.