[jboss-jira] [JBoss JIRA] (WFLY-12836) Large allocations in EJBContextImpl#isCallerInRole
Ashley Abdel-Sayed (Jira)
issues at jboss.org
Mon Jan 13 12:30:15 EST 2020
[ https://issues.redhat.com/browse/WFLY-12836?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ashley Abdel-Sayed reassigned WFLY-12836:
-----------------------------------------
Assignee: Ashley Abdel-Sayed (was: Cheng Fang)
> Large allocations in EJBContextImpl#isCallerInRole
> --------------------------------------------------
>
> Key: WFLY-12836
> URL: https://issues.redhat.com/browse/WFLY-12836
> Project: WildFly
> Issue Type: Bug
> Components: EJB, Security
> Affects Versions: 18.0.1.Final
> Reporter: Philippe Marschall
> Assignee: Ashley Abdel-Sayed
> Priority: Major
> Attachments: elytron_allocations_redacted.PNG
>
>
> In our application we have the need to know the roles of the current user. We would like to do this using Java / Jakarta EE APIs rather than rely on WildFly implementation classes. We do this by iterating over all roles, which we know statically, and calling {{EJBContext#isCallerInRole}} for each one. This seem to be a common technique, see [How to get user roles in a JSP / Servlet|https://stackoverflow.com/questions/344117/how-to-get-user-roles-in-a-jsp-servlet].
> That's about 100 roles for us. We were expecting that would be a lookup into a {{HashMap}} or similar with O(1) complexity and almost no allocations.
> This however does not seem to be case as {{EJBContextImpl#isCallerInRole}} seems to do the role mapping for every call. This results in a large amount of allocations. In our case this completely dominates our allocation profile. See attached screenshot from JFR.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
More information about the jboss-jira
mailing list