You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2022/08/05 07:33:00 UTC
[jira] [Work logged] (ARTEMIS-3922) Reducing contention on java.lang.Throwable#getOurStackTrace
[ https://issues.apache.org/jira/browse/ARTEMIS-3922?focusedWorklogId=798302&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-798302 ]
ASF GitHub Bot logged work on ARTEMIS-3922:
-------------------------------------------
Author: ASF GitHub Bot
Created on: 05/Aug/22 07:32
Start Date: 05/Aug/22 07:32
Worklog Time Spent: 10m
Work Description: MrEasy opened a new pull request, #4168:
URL: https://github.com/apache/activemq-artemis/pull/4168
By allowing to pass caller's classname directly to org.apache.activemq.artemis.utils.ActiveMQThreadFactory#defaultThreadFactory instead of calculating it from stack.
Issue Time Tracking
-------------------
Worklog Id: (was: 798302)
Remaining Estimate: 0h
Time Spent: 10m
> Reducing contention on java.lang.Throwable#getOurStackTrace
> -----------------------------------------------------------
>
> Key: ARTEMIS-3922
> URL: https://issues.apache.org/jira/browse/ARTEMIS-3922
> Project: ActiveMQ Artemis
> Issue Type: Improvement
> Affects Versions: 2.24.0
> Reporter: Rico Neubauer
> Priority: Major
> Attachments: threads.txt
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> This is a request for improvement rg. performance in a very specific case, but easy to accomplish.
> h2. Scenario
> On certain contaier'ed Windows machines we have identified that {{java.lang.Throwable#getOurStackTrace}} along with {{java.lang.StackTraceElement#initStackTraceElements}} show up as a very expensive operations. The reason behind this is still unclear, but since the {{#getOurStackTrace}} is synchronized, it suffers even more when the native method {{#initStackTraceElements}} takes an unexpected long time.
> This shows in thread-dumps in 2 locations for Artemis, where connection-creation is the more crucial one from my pov.
> See attached threads.txt
> h2. Remedy
> Fortunately the location where this gets used via {{Thread.currentThread().getStackTrace()}} is simple to replace, since the information needed could just get passed by caller.
> Please see attached patch for my proposal.
> Also available [here as commit|https://github.com/seeburger-ag/activemq-artemis/commit/7396b9356256706a886f35da3a27274084e5a973].
> Can create a pull request as well.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)