Thread synchronization issues with HttpSession/BOSH
We are observing significant thread contention (locking/blocking) in the BOSH connector under high loads. It appears that the HttpSession class is a bit over-synchronized. Thread dump is attached.
@Neustradamus: Yes, I believe so. We have been testing this fix for a while now and it seems stable. You can pick up the changes from the nightly build or from the SVN trunk.
Tom Evans: It is resolved in 3.7.2 version?
Made the following changes for the http-bind connector:
removed most synchronization points on HttpSession instances
added synchronization controls on collections within HttpSession
added JiveGlobals properties for additional tuning/configuration options (httpbind.client.processing.threads, xmpp.httpbind.session.initial.count)
cleaned up some sieve methods (having multiple exit points)
updated RPM spec to include static web context resources
Thanks for linking some of the relevant background info ... agree the eventual solution should be a new BOSH connector to replace the existing http-bind implementation.
Note also there have been a few fixes recently that appear to have improved the current implementation, so perhaps we can keep the momentum going:
The bug is that: http://issues.igniterealtime.org/browse/OF-81