Hi Prosody People,

I have prosody set up for bosh, and am forwarding requests to /http-bind in 
nginx to prosody on 5280.  When using this configuration with 
prosody-0.10-nightly181, I have had no issues running the service.

However, now I have been experiencing this strange issue on all builds of 
prosody since prosody-0.10-1nightly181-1, up to and including prosody-trunk 
build 645.  

The issue is that upon reaching a certain condition (not clear if it’s load, 
number of concurrent connections, or what), prosody stops responding to BOSH 
requests in a timely fashion.  The error I see in nginx is as follows:

2016/03/22 21:12:45 [error] 29130#0: *12378 upstream timed out (110: Connection 
timed out) while reading response header from upstream, client: 52.90.26.24, 
server: , request: "POST /http-bind/?room=ip1065189341 HTTP/1.1", upstream: 
"http://127.0.0.1:5280/http-bind/?room=ip1065189341 
<http://127.0.0.1:5280/http-bind/?room=ip1065189341>", host: "lonely.hipchat.me 
<http://lonely.hipchat.me/>:443”

There are no equivalent lines in the prosody logs.  It’s as if prosody is 
blocking and fails to respond to the request, closing the connection silently 
within a few seconds of initiation.

The errors only occur when enough clients are connected and communicating, so I 
suspect it’s a resource management problem or some kind of locking issue.  When 
the load reduces again, BOSH connections work properly without having to 
restart the prosody process so it does seem to be related to ongoing 
connections.

All this is blocking me from upgrading to the latest prosody, so I am using the 
last one that didn’t have this issue, prosody-0.10-1nightly181-1.  However, 
this doesn’t contain the support I need for token authentication, and also 
requires me to check out separate repos of modules which have since been 
integrated into the mainline.  So I’d like to get to the bottom of this and 
start using the latest prosody again.

Does anyone have any ideas on what I could do to investigate further?  Or does 
anyone have any idea what might have changed in prosody to permit such a 
failure mode?

I’m open to trying anything, so please advise!

Cheers,

-Aaron van Meerten
Sr. DevOps Engineer @ Atlassian

-- 
You received this message because you are subscribed to the Google Groups 
"prosody-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to prosody-dev+unsubscr...@googlegroups.com.
To post to this group, send email to prosody-dev@googlegroups.com.
Visit this group at https://groups.google.com/group/prosody-dev.
For more options, visit https://groups.google.com/d/optout.

Reply via email to