[ 
https://issues.apache.org/jira/browse/ARTEMIS-4923?focusedWorklogId=925691&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-925691
 ]

ASF GitHub Bot logged work on ARTEMIS-4923:
-------------------------------------------

                Author: ASF GitHub Bot
            Created on: 12/Jul/24 18:39
            Start Date: 12/Jul/24 18:39
    Worklog Time Spent: 10m 
      Work Description: jbertram opened a new pull request, #5087:
URL: https://github.com/apache/activemq-artemis/pull/5087

   The `ManagementService` is used by the broker to register and unregister 
components for management as well as send notifications. When the broker is 
busy dealing with new sessions and auto-creating queues, addresses, etc. there 
is a lot of contention.
   
   To reduce synchronization and improve the service overall this commit does 
the following:
   
    - Remove `synchronized` from most methods. In most cases it's completely 
unnecessary because the methods are already using a thread-safe data-structure 
(e.g. `ConcurrentHashMap`) or more specific synchronization is already in place 
(e.g. on `mbeanServer`).
    - Adds new & clarifies existing logging.
    - Synchronizes `start` & `stop` methods and adds gates via `started`.
    - Simplifies the `sendNotification` method by synchronizing once rather 
than twice and performing legitimacy checks sooner.
    - Removing an unnecessary overload of the `registereQueue` method.




Issue Time Tracking
-------------------

            Worklog Id:     (was: 925691)
    Remaining Estimate: 0h
            Time Spent: 10m

> Reduce synchronization in ManagementServiceImpl
> -----------------------------------------------
>
>                 Key: ARTEMIS-4923
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-4923
>             Project: ActiveMQ Artemis
>          Issue Type: Improvement
>            Reporter: Justin Bertram
>            Assignee: Justin Bertram
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> The {{ManagementService}} is used by the broker to register and unregister 
> components for management as well as send notifications. When the broker is 
> busy dealing with new sessions and auto-creating queues, addresses, etc. 
> there is a lot of contention in this service. However, much of the 
> synchronization can be removed completely or replaced with more efficient 
> thread-safe underlying data structures.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact


Reply via email to