https://issues.apache.org/bugzilla/show_bug.cgi?id=57114
Vladimir Sitnikov <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] --- Comment #1 from Vladimir Sitnikov <[email protected]> --- Created attachment 32124 --> https://issues.apache.org/bugzilla/attachment.cgi?id=32124&action=edit Avoid synchronization where it is not required I went through sub-classes of AbstractFunction and removed synchronization where it is not required. Basically, if a function does not modify state and if it accesses thread-safe objects only, then synchronization is not required. Please find the attached patch on top of e9228ccf / trunk@1632410. Notes: 0) The patch contains just synchronization removal + some corrections to CV. All the tests pass except testPropfile(org.apache.jmeter.save.TestSaveService)junit.framework.AssertionFailedError: Property File Version mismatch, ensure you update SaveService#FILEVERSION field with revision id of saveservice.properties. testPropfile fails without patch as well, so I did not investigate that. 1) I have no idea what to do with BeanShell function. bsh.Interpreter is thread safe, however bshInterpreter.set("vars",...) should not be accessed concurrently as that will just overwrite the value. I think it makes sense to wrap bsh interpreter in a ThreadLocal, so synchronization can be removed from BeanShell.execute -- You are receiving this mail because: You are the assignee for the bug.
