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

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

Commit 1754324 from oru...@apache.org in branch 'java/trunk'
[ https://svn.apache.org/r1754324 ]

QPID-7082: Create AccessControllerContext for system tasks without inheriting 
current context

> [Java Broker] Created AccessControllerContext for SystemTasks should not 
> reference current context
> --------------------------------------------------------------------------------------------------
>
>                 Key: QPID-7082
>                 URL: https://issues.apache.org/jira/browse/QPID-7082
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: qpid-java-6.0, qpid-java-6.0.1
>            Reporter: Alex Rudyy
>             Fix For: qpid-java-6.1
>
>         Attachments: 
> QPID-7082-Stop-referencing-current-context-from-queue-immediate-delivery-context.diff
>
>
> The code within {code}SecurityManager.getSystemTaskControllerContext(String 
> taskName, Principal principal){code} creates a context which inherits from 
> the current thread AcessControllerContext.  This current context may contain 
> references to the current user / connection / session.  On queue creation an 
> instance of AcessControllerContext created with 
> }SecurityManager.getSystemTaskControllerContext is referenced from 
> Queue#_immediateDeliveryContext. If queue is created via messaging layer, the 
> existing AccessControlContext can hold references to ConnectionPrincipal and 
> SessionPrincipal and their connection and session object accordingly.  As 
> result, Queue#_immediateDeliveryContext can refer  ConnectionPrincipal and 
> SessionPrincipa preventing garbage collection of corresponding AMQPConnection 
> and AMQSessionModel objects for the duration of the queue life. With lots of 
> long lived queues that were created by lots of different connections the 
> broker memory consumption might grow in time and eventially Broker can run 
> OOM if not bounced.
> The AccessContollerContext created by the method should not inherit and 
> context, and thus no references to users/connection/sessions etc. will be 
> retained.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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

Reply via email to