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

Attachments

1
  • 27 Sep 2012, 06:00 PM

Activity

Show:

Tom Evans November 13, 2012 at 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 at 1:27 PM

Tom Evans: It is resolved in 3.7.2 version?

Tom Evans September 29, 2012 at 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 at 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

Details

Assignee

Reporter

Components

Fix versions

Affects versions

Priority

Created September 27, 2012 at 6:00 PM
Updated November 13, 2012 at 4:25 PM
Resolved September 29, 2012 at 12:37 AM

Flag notifications