rajat315315 opened a new issue, #6723:
URL: https://github.com/apache/jmeter/issues/6723

   ### Use case
   
   ### Description
   In high-concurrency performance testing scenarios, global property queries 
performed during active test execution (for example, through JSR223 Groovy 
scripts accessing the implicit `props` object or through `${__P()}` / 
`${__property()}` functions) create a global synchronization bottleneck.
   
   `java.util.Properties` inherits directly from `java.util.Hashtable`, where 
core accessors like `.get(Object)` and mutators like `.put()` are declared as 
`synchronized` methods. In highly concurrent test plans (e.g. 500+ threads 
executing JSR223 elements concurrently), threads end up serialization-blocked 
waiting to acquire the monitor lock of the global properties instance.
   
   
   
   
   ### Possible solution
   
   
   Introduce a subclass of `java.util.Properties` named `ConcurrentProperties` 
which internally delegates read queries to a backing `ConcurrentHashMap`, while 
keeping writes synchronized and in sync with the parent `Hashtable` data model. 
This provides completely lock-free read lookups under concurrent scripts while 
maintaining full type compatibility (`instanceof java.util.Properties`).
   
   ### Possible workarounds
   
   _No response_
   
   ### JMeter Version
   
   6.0.0-SNAPSHOT
   
   ### Java Version
   
   _No response_
   
   ### OS Version
   
   _No response_


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to