Thread synchronization issues with HttpSession/BOSH

Description

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.

Environment

None

Activity

Show:
Tom Evans
November 13, 2012, 4:25 PM

@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.

Neustradamus
November 13, 2012, 1:27 PM

Tom Evans: It is resolved in 3.7.2 version?

Tom Evans
September 29, 2012, 12:37 AM

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

Tom Evans
September 28, 2012, 10:49 PM

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:

http://issues.igniterealtime.org/browse/OF-558
http://issues.igniterealtime.org/browse/OF-342

Fixed

Assignee

Tom Evans

Reporter

Tom Evans

Labels

Expected Effort

None

Ignite Forum URL

None

Components

Fix versions

Affects versions

Priority

Major