osrf_websocket_translator send requests to the bit-bucket

Bug #1744158 reported by Galen Charlton
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OpenSRF
Fix Released
Medium
Unassigned

Bug Description

If an Apache backend handling osrf_websocket_translator requests loses its XMPP connection (as might happen if it gets forcibly disconnected due to a max_stanza_size violation), it can end up in a state where it accepts requests but never responds to them. This condition is associated with the following log message:

osrf_websocket_translator [WARN:589:transport_session.c:304:1516290118589339] State machine is not connected in send_msg()

If osrf_websocket_translator loses its connection, it should either attempt to reconnect or cause the Apache backend to terminate.

OpenSRF 3.0+

Tags: pullrequest
Bill Erickson (berick)
Changed in opensrf:
assignee: nobody → Bill Erickson (berick)
Revision history for this message
Bill Erickson (berick) wrote :

Fix pushed:

http://git.evergreen-ils.org/?p=working/OpenSRF.git;a=shortlog;h=refs/heads/user/berick/lp1744158-ws-exits-on-delivery-failure

I took the (much simpler) route of kicking the client off and allowing the WS process to exit. The client can then reconnect as needed.

I tested navigating around in the browser (via EG web client), stopping services and ejabberd, then trying another websocket request. The request failed and the client was disconnected. I then restarted ejabberd/services and issued more UI commands in the same interface (no page reloads) with success.

Changed in opensrf:
assignee: Bill Erickson (berick) → nobody
milestone: none → 3.0.1
status: New → Confirmed
tags: added: pullrequest
Revision history for this message
Jason Stephenson (jstephenson) wrote :

Works for me! I was able to reproduce the problem and verify that the branch fixes it.

Before the patch I had to log out of the web staff client to do anything useful after services were restarted. After the patch, logging out and logging back in were not necessary.

I pushed the branch to master and rel_3_0.

Thanks, Bill!

Changed in opensrf:
status: Confirmed → Fix Committed
Galen Charlton (gmc)
Changed in opensrf:
importance: Undecided → Medium
Changed in opensrf:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.