scsosna99 commented on issue #597: CXF-8149 Reduce synchronization in 
AbstractJXBProvider
URL: https://github.com/apache/cxf/pull/597#issuecomment-553415102
 
 
   > @scsosna99 could you recheck the case using this impl?
   
   Our biggest contention appears to be in getCollectionContext(), where 
manipulating the collection blocks continually.  The solution that we've come 
up with is to use a ConcurrentHashMap and call putIfAbsent, which substantially 
reduces blockage
   
    I wanted to find a solution that kept this a Set - and had a better chance 
of passing your scrutiny - but blocking continues, synchronizing threads, 
impacting performance.  I thought using newKeySet() would get me what I needed 
but didn't; also tried ReentrantReadWriteLock to allow n-read/1-write.
   
   Your changes would affect other collections which aren't really impacting 
me, though I thought changing them to ConcurrentHashMap's would help reduce 
synchronization.
   
   Chances are that all these changes give some general improvement but our 
hack works better.  Our one-off change is 2.6.11 running against Java7 (don't 
chastise me, I just started here!) so the JDK bug referenced above would need 
more research.  Longer-term goal is moving our services out of the monolith 
which will end up being Spring Boot and new problems arise....
   
   Thanks all, but I'm going to drop this for now.

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to