[ 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)