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

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

                Author: ASF GitHub Bot
            Created on: 21/Jan/19 19:20
            Start Date: 21/Jan/19 19:20
    Worklog Time Spent: 10m 
      Work Description: franz1981 commented on issue #2427: ARTEMIS-2170 
Optimized CoreMessage's checkProperties and cleanupInternalProperties methods
URL: https://github.com/apache/activemq-artemis/pull/2427#issuecomment-456175930
 
 
   > > @michaelandrepearce I have checked that is not less optimized because 
the original version was failing to find the prefixed properties to remove ie 
was looping every property with a slower method
   > 
   > Reply, is there a test proving that? Im very suprised, as i can see that 
the internal flag when debugging master is being set correctly if i set one of 
those two headers, and i can see it only goes into iterating if it has been 
set. So if they arent set no iterating occurs.
   > 
   > Agree the iterating isnt optimal, but it ONLY iterates if that flag was 
true, so if not true, it doesnt even iterate at all.
   
   
   
   > > @michaelandrepearce I have checked that is not less optimized because 
the original version was failing to find the prefixed properties to remove ie 
was looping every property with a slower method
   > 
   > Reply, is there a test proving that? Im very suprised, as i can see that 
the internal flag when debugging master is being set correctly if i set one of 
those two headers, and i can see it only goes into iterating if it has been 
set. So if they arent set no iterating occurs.
   > 
   > Agree the iterating isnt optimal, but it ONLY iterates if that flag was 
true, so if not true, it doesnt even iterate at all.
   
   The problem is when those properties are not set and it will iterate; there 
is a problem with false positive in the tests I've done some time ago. 
   I can write a new test, but after checking the flamegraphs I was getting 
very high CPU usage on that iteration when my messages weren't having using 
"internal properties" at all...
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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

    Worklog Id:     (was: 187868)
    Time Spent: 3h  (was: 2h 50m)

> Optimized CoreMessage's checkProperties and cleanupInternalProperties methods
> -----------------------------------------------------------------------------
>
>                 Key: ARTEMIS-2170
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-2170
>             Project: ActiveMQ Artemis
>          Issue Type: Improvement
>          Components: Broker
>            Reporter: Francesco Nigro
>            Assignee: Francesco Nigro
>            Priority: Minor
>          Time Spent: 3h
>  Remaining Estimate: 0h
>
> CoreMessage::checkProperties perform too many volatile read/write and has a 
> too big body just to handle exceptional cases, while 
> cleanupInternalProperties is called on the hot path of session send, but is 
> performing too many synchronized operations and loopup on TypedProperties.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to