You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Keith Chow (JIRA)" <qp...@incubator.apache.org> on 2009/07/10 13:27:14 UTC

[jira] Created: (QPID-1980) Java broker does not parse protection I/O configuration with expected XML structure

Java broker does not parse protection I/O configuration with expected XML structure
-----------------------------------------------------------------------------------

                 Key: QPID-1980
                 URL: https://issues.apache.org/jira/browse/QPID-1980
             Project: Qpid
          Issue Type: Bug
          Components: Java Broker
    Affects Versions: 0.5
            Reporter: Keith Chow


The following is the default 0.5 java broker config.xml structure for protection I/O related configuration.

<broker>
    <connector>
        <qpidnio>false</qpidnio>
        <protectio>
            <enabled>false</enabled>
	</protectio>
    </connector>
</broker>

But ServerConfiguration expects a config value with key "broker.connector.protectio.enabled", which makes the "broker." prefix appears to be extraneous if the default config's XML structure is correct.


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


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Commented: (QPID-1980) Java broker does not parse protection I/O configuration with expected XML structure

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

Martin Ritchie commented on QPID-1980:
--------------------------------------

Hi Keith thanks for the patch.

Are you using ProtectIO? Would be good to get your experiences of using it.

Regards

Martin

> Java broker does not parse protection I/O configuration with expected XML structure
> -----------------------------------------------------------------------------------
>
>                 Key: QPID-1980
>                 URL: https://issues.apache.org/jira/browse/QPID-1980
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: 0.5
>            Reporter: Keith Chow
>            Priority: Minor
>         Attachments: ServerConfiguration.java.diff
>
>
> The following is the default 0.5 java broker config.xml structure for protection I/O related configuration.
> <broker>
>     <connector>
>         <qpidnio>false</qpidnio>
>         <protectio>
>             <enabled>false</enabled>
> 	</protectio>
>     </connector>
> </broker>
> But ServerConfiguration expects a config value with key "broker.connector.protectio.enabled", which makes the "broker." prefix appears to be extraneous if the default config's XML structure is correct.

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


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Assigned: (QPID-1980) Java broker does not parse protection I/O configuration with expected XML structure

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

Martin Ritchie reassigned QPID-1980:
------------------------------------

    Assignee: Aidan Skinner  (was: Martin Ritchie)

Hi Aidan, Can you review this change please

> Java broker does not parse protection I/O configuration with expected XML structure
> -----------------------------------------------------------------------------------
>
>                 Key: QPID-1980
>                 URL: https://issues.apache.org/jira/browse/QPID-1980
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: 0.5
>            Reporter: Keith Chow
>            Assignee: Aidan Skinner
>            Priority: Minor
>         Attachments: ServerConfiguration.java.diff
>
>
> The following is the default 0.5 java broker config.xml structure for protection I/O related configuration.
> <broker>
>     <connector>
>         <qpidnio>false</qpidnio>
>         <protectio>
>             <enabled>false</enabled>
> 	</protectio>
>     </connector>
> </broker>
> But ServerConfiguration expects a config value with key "broker.connector.protectio.enabled", which makes the "broker." prefix appears to be extraneous if the default config's XML structure is correct.

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


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Updated: (QPID-1980) Java broker does not parse protection I/O configuration with expected XML structure

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

Martin Ritchie updated QPID-1980:
---------------------------------

    Status: Ready To Review  (was: In Progress)

> Java broker does not parse protection I/O configuration with expected XML structure
> -----------------------------------------------------------------------------------
>
>                 Key: QPID-1980
>                 URL: https://issues.apache.org/jira/browse/QPID-1980
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: 0.5
>            Reporter: Keith Chow
>            Assignee: Martin Ritchie
>            Priority: Minor
>         Attachments: ServerConfiguration.java.diff
>
>
> The following is the default 0.5 java broker config.xml structure for protection I/O related configuration.
> <broker>
>     <connector>
>         <qpidnio>false</qpidnio>
>         <protectio>
>             <enabled>false</enabled>
> 	</protectio>
>     </connector>
> </broker>
> But ServerConfiguration expects a config value with key "broker.connector.protectio.enabled", which makes the "broker." prefix appears to be extraneous if the default config's XML structure is correct.

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


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Updated: (QPID-1980) Java broker does not parse protection I/O configuration with expected XML structure

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

Keith Chow updated QPID-1980:
-----------------------------

    Attachment: ServerConfiguration.java.diff

I have created a patch against trunk to load the three protection I/O parameters with these keys:

connector.protectio.enabled
connector.protectio.readBufferLimitSize
connector.protectio.writeBufferLimitSize

> Java broker does not parse protection I/O configuration with expected XML structure
> -----------------------------------------------------------------------------------
>
>                 Key: QPID-1980
>                 URL: https://issues.apache.org/jira/browse/QPID-1980
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: 0.5
>            Reporter: Keith Chow
>         Attachments: ServerConfiguration.java.diff
>
>
> The following is the default 0.5 java broker config.xml structure for protection I/O related configuration.
> <broker>
>     <connector>
>         <qpidnio>false</qpidnio>
>         <protectio>
>             <enabled>false</enabled>
> 	</protectio>
>     </connector>
> </broker>
> But ServerConfiguration expects a config value with key "broker.connector.protectio.enabled", which makes the "broker." prefix appears to be extraneous if the default config's XML structure is correct.

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


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Updated: (QPID-1980) Java broker does not parse protection I/O configuration with expected XML structure

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

Keith Chow updated QPID-1980:
-----------------------------

    Priority: Minor  (was: Major)

> Java broker does not parse protection I/O configuration with expected XML structure
> -----------------------------------------------------------------------------------
>
>                 Key: QPID-1980
>                 URL: https://issues.apache.org/jira/browse/QPID-1980
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: 0.5
>            Reporter: Keith Chow
>            Priority: Minor
>         Attachments: ServerConfiguration.java.diff
>
>
> The following is the default 0.5 java broker config.xml structure for protection I/O related configuration.
> <broker>
>     <connector>
>         <qpidnio>false</qpidnio>
>         <protectio>
>             <enabled>false</enabled>
> 	</protectio>
>     </connector>
> </broker>
> But ServerConfiguration expects a config value with key "broker.connector.protectio.enabled", which makes the "broker." prefix appears to be extraneous if the default config's XML structure is correct.

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


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Assigned: (QPID-1980) Java broker does not parse protection I/O configuration with expected XML structure

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

Martin Ritchie reassigned QPID-1980:
------------------------------------

    Assignee: Martin Ritchie

> Java broker does not parse protection I/O configuration with expected XML structure
> -----------------------------------------------------------------------------------
>
>                 Key: QPID-1980
>                 URL: https://issues.apache.org/jira/browse/QPID-1980
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: 0.5
>            Reporter: Keith Chow
>            Assignee: Martin Ritchie
>            Priority: Minor
>         Attachments: ServerConfiguration.java.diff
>
>
> The following is the default 0.5 java broker config.xml structure for protection I/O related configuration.
> <broker>
>     <connector>
>         <qpidnio>false</qpidnio>
>         <protectio>
>             <enabled>false</enabled>
> 	</protectio>
>     </connector>
> </broker>
> But ServerConfiguration expects a config value with key "broker.connector.protectio.enabled", which makes the "broker." prefix appears to be extraneous if the default config's XML structure is correct.

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


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Resolved: (QPID-1980) Java broker does not parse protection I/O configuration with expected XML structure

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

Aidan Skinner resolved QPID-1980.
---------------------------------

    Resolution: Fixed

> Java broker does not parse protection I/O configuration with expected XML structure
> -----------------------------------------------------------------------------------
>
>                 Key: QPID-1980
>                 URL: https://issues.apache.org/jira/browse/QPID-1980
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: 0.5
>            Reporter: Keith Chow
>            Assignee: Aidan Skinner
>            Priority: Minor
>         Attachments: ServerConfiguration.java.diff
>
>
> The following is the default 0.5 java broker config.xml structure for protection I/O related configuration.
> <broker>
>     <connector>
>         <qpidnio>false</qpidnio>
>         <protectio>
>             <enabled>false</enabled>
> 	</protectio>
>     </connector>
> </broker>
> But ServerConfiguration expects a config value with key "broker.connector.protectio.enabled", which makes the "broker." prefix appears to be extraneous if the default config's XML structure is correct.

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


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Commented: (QPID-1980) Java broker does not parse protection I/O configuration with expected XML structure

Posted by "Keith Chow (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1980?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12734643#action_12734643 ] 

Keith Chow commented on QPID-1980:
----------------------------------

Hi Martin,

We are using ProtectIO, but not without customization for our usecase. We need to protect the broker against misbehaving / broken consumer clients, but don't wish to slow down other healthy producers and consumers.

The default WriteBufferLimitFilterBuilder only offers two options when the send limit is reached:

i) throw WriteBufferFullExeception (but we don't really want exceptions to be thrown continuously)
ii) block the processor until the buffer goes below threshold (this causes events to be kept in Qpid's job queue instead of the WriteRequestQueue, but leads to the same problem, i.e., the queue can grow without bound causing OOM eventually)

So we ended up changing the filter to return immediately to stop the I/O chain whenever the write threshold is reached. This allows other consumers of the same topic to receive messages from the producer and keeps an upperbound of broker memory consumed by each client.

We are still using M3 java broker, so these observation may not apply directly with the 0.5 release anymore.

Regards,

Keith

> Java broker does not parse protection I/O configuration with expected XML structure
> -----------------------------------------------------------------------------------
>
>                 Key: QPID-1980
>                 URL: https://issues.apache.org/jira/browse/QPID-1980
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: 0.5
>            Reporter: Keith Chow
>            Assignee: Aidan Skinner
>            Priority: Minor
>         Attachments: ServerConfiguration.java.diff
>
>
> The following is the default 0.5 java broker config.xml structure for protection I/O related configuration.
> <broker>
>     <connector>
>         <qpidnio>false</qpidnio>
>         <protectio>
>             <enabled>false</enabled>
> 	</protectio>
>     </connector>
> </broker>
> But ServerConfiguration expects a config value with key "broker.connector.protectio.enabled", which makes the "broker." prefix appears to be extraneous if the default config's XML structure is correct.

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


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org