You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Rajith Attapattu (JIRA)" <qp...@incubator.apache.org> on 2008/09/22 19:18:44 UTC

[jira] Updated: (QPID-943) Move JMSXUserID creation to client to improve broker performance

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

Rajith Attapattu updated QPID-943:
----------------------------------

    Assignee: Rajith Attapattu  (was: Martin Ritchie)

After discussing with Rob, Aidan and Gordon I have made the following changes to the Java, C++ broker and JMS Clients.

I have used the "user_id" header (available in both 0-8/0-9 and 0-10 spec) to validate messages as well as to pass the JMSXUserID property.

C++ Broker
--------------------------
If auth == yes and msg-auth == yes, then the user_id specified in the message properties will be verified against the user_id used in connection authentication.
The default value for msg-auth is false and can be configured using the --msg-auth param.

Java Broker
-------------------------
Removed the hack in org.apache.qpid.server.AMQChannel to add the JMXUserID, instead is using the following strategy.
if security.msg-auth == true then the user_id in the message header will be compared against the user_id used in connection authentication.
The msg-auth can be configured in config.xml and the default value is false.

JMS Client (0-8/0-9 and 0-10)
-------------------------------------------
Both versions of MessageProducers will insert the user_id used for connection authentication in to the correct user_id header.
On the receiving side, both versions of MessageConsumers will read the user_id header and add that as the value for JMSXUserID in the properties.  


> Move JMSXUserID creation to client to improve broker performance
> ----------------------------------------------------------------
>
>                 Key: QPID-943
>                 URL: https://issues.apache.org/jira/browse/QPID-943
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Broker, Java Client
>    Affects Versions: M2.1
>            Reporter: Marnie McCormack
>            Assignee: Rajith Attapattu
>             Fix For: M4
>
>
> Summary: 
> Currently the broker modifies the message to add the JMSXUserID. A better approach would be to have the client encode that detail and have the broker verify that it is correct. This means that the broker does not have to re-encode every message. It also allows the sending client to decide if they wish to include the JMSXUserID for validation. 
> Proposed Changes: 
> Removing existing modification code replacing with validation if the JMSXUserID is present. If validation is required to pass then close the connection on failures. 
> Augment to client to have the ability to manuall or automatically set the JMSXUserID based on the authenticated connection. 
> Test Strategy: 
> Test messages with manual user id creation(correct and incorrect), automatic user id creation. 
> Test broker in validation mode and lenient mode. 
> Testing should include performance metrics to quantify the inpact of the additional processing.

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