[jira] [Commented] (ARTEMIS-3618) Faster Artemis CORE client MessageListener::onMessage without SecurityManager

2021-12-20 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-3618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17462802#comment-17462802
 ] 

ASF subversion and git services commented on ARTEMIS-3618:
--

Commit 46d1fa66f7bd824038ba32ee08d651f06bff12f3 in activemq-artemis's branch 
refs/heads/main from franz1981
[ https://gitbox.apache.org/repos/asf?p=activemq-artemis.git;h=46d1fa6 ]

ARTEMIS-3618 Faster Artemis CORE client MessageListener::onMessage without 
SecurityManager


> Faster Artemis CORE client MessageListener::onMessage without SecurityManager
> -
>
> Key: ARTEMIS-3618
> URL: https://issues.apache.org/jira/browse/ARTEMIS-3618
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Major
> Attachments: noSecurityManager.png
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Currently {{{}ClientConsumerImpl{}}}, responsible of calling JMS 
> {{{}MessageListener::onMessage{}}}, is installing/restoring the listener 
> thread's context ClassLoader by using a secured action regardless any 
> security manager is installed.
> This secured action (using {{{}AccessController::doPrivileged{}}}) is very 
> heavyweight and can often be as costy (or more) then the user/application 
> code handling the received message (see 
> [https://bugs.openjdk.java.net/browse/JDK-8062162] for more info).
> The {{SecurityManager}} will be removed in the future (see 
> [https://openjdk.java.net/jeps/411]) but until that moment would be nice to 
> reduce such cost at least if no {{SecurityManager}} is installed.
> This is a flamegraph showing the listener stack trace:
> !noSecurityManager.png|width=920,height=398!
> As the image shows, in violet, here's the cost of 
> {{AccessController::doPrivileged}} is no {{SecurityManager}} is installed ie 
> 14 samples
>  - handling the message costs 3 samples
>  - acknowledge it costs 19 samples
> TLDR {{AccessController::doPrivileged}} cost ~5 times handling the message 
> and nearly the same as acking back it



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


[jira] [Commented] (ARTEMIS-3618) Faster Artemis CORE client MessageListener::onMessage without SecurityManager

2021-12-20 Thread Francesco Nigro (Jira)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-3618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17462644#comment-17462644
 ] 

Francesco Nigro commented on ARTEMIS-3618:
--

With the fix applied any cost related the secured action just disappear

> Faster Artemis CORE client MessageListener::onMessage without SecurityManager
> -
>
> Key: ARTEMIS-3618
> URL: https://issues.apache.org/jira/browse/ARTEMIS-3618
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Major
> Attachments: noSecurityManager.png
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Currently {{{}ClientConsumerImpl{}}}, responsible of calling JMS 
> {{{}MessageListener::onMessage{}}}, is installing/restoring the listener 
> thread's context ClassLoader by using a secured action regardless any 
> security manager is installed.
> This secured action (using {{{}AccessController::doPrivileged{}}}) is very 
> heavyweight and can often be as costy (or more) then the user/application 
> code handling the received message (see 
> [https://bugs.openjdk.java.net/browse/JDK-8062162] for more info).
> The {{SecurityManager}} will be removed in the future (see 
> [https://openjdk.java.net/jeps/411]) but until that moment would be nice to 
> reduce such cost at least if no {{SecurityManager}} is installed.
> This is a flamegraph showing the listener stack trace:
> !noSecurityManager.png|width=920,height=398!
> As the image shows, in violet, here's the cost of 
> {{AccessController::doPrivileged}} is no {{SecurityManager}} is installed ie 
> 14 samples
>  - handling the message costs 3 samples
>  - acknowledge it costs 19 samples
> TLDR {{AccessController::doPrivileged}} cost ~5 times handling the message 
> and nearly the same as acking back it



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