[ 
https://issues.apache.org/jira/browse/QPID-8558?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17443629#comment-17443629
 ] 

ASF subversion and git services commented on QPID-8558:
-------------------------------------------------------

Commit 28cbf3b2ba40e3a895c723b3af84b07810cf43c9 in qpid-broker-j's branch 
refs/heads/main from Marek Laca
[ https://gitbox.apache.org/repos/asf?p=qpid-broker-j.git;h=28cbf3b ]

QPID-8558: [Broker-J] Enhancement of sole connection enforcement policy 
evaluation (#106)



> [Broker-J] Enhancement of sole connection enforcement policy evaluation
> -----------------------------------------------------------------------
>
>                 Key: QPID-8558
>                 URL: https://issues.apache.org/jira/browse/QPID-8558
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Broker-J
>            Reporter: Marek Laca
>            Priority: Minor
>              Labels: Broker, Java
>
> Java broker implements the sole connection enforcement policy extension of 
> the AMQP 1.0 protocol. The extension ensures that the remote container can 
> open only one active connection to the broker at the same time.
> The implementation is ineffective. When a new connection is opened the 
> IO-thread transfer the check to the virtual host configuration thread. The 
> configuration thread iterates throw all registered connections and checks 
> their remote container id and the policy. This technique ensures exclusive 
> access to the collection of the connections and nothing can be added or 
> removed during the check. Hence, the configuration thread works as a master 
> thread and every IO-thread has to wait till it receives a permission to go. 
> The waiting time increases with the number of open connections. The 
> processing of the messages is degraded, even when the user does not utilize 
> the sole connection enforcement policy.
> The policy can be implemented as a connection limiter and there is no need 
> for a global lock or the usage of configuration thread. The limiter can check 
> the connections from different remote containers in parallel. If user does 
> not utilize the sole connection enforcement policy then every connection will 
> have a unique container id and the processing of a new incoming connection 
> will not be block by another connections.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to