Publishing new messages fails after a while
Hi Leo,
I seem to be having a nasty issue. It seems like after having Openresty running a while, publishing new messages to channels fails. The message is accepted successfully, but presently subscribed clients do not receive any updates (not via websocket and also not via long-poll). When I restart Openresty, any messages still left in the queue is directly delivered to all (reconnected) clients.
I use the Redis backing store with a single server. I already tried setting workers to 1, but that doesn't seem to help. I see no worker crashes, no assertion errors and no crash notices in the logs. It just seems to stop working.
Incoming messages sent by the client does seem to be handled by the upstream_message handler correctly. So there at least is still some communication possible, but publishing to certain channels stops altogether.
I am experiencing this on two different servers, running a custom compiled Openresty in a Docker container with nchan compiled in. Compiling and loading nchan as dynamic module does not seem to change anything. I've also removed any other extra modules that were loaded (like GeoIP2), but that didn't seem to help either.
I also noticed that when I reload Openresty to apply new configuration, it sometimes gets stuck in a infinite crash loop (worker process xxx exited on signal 11). I then have to restart it to get that sorted.
What would you need from me to investigate these issues further? Should I mail you the config, specs we currently use? Would it help if you would be able to have a look on one of the servers?
I do really like nchan as a product, and we'd really prefer to use it over alternatives, so I'm committed to solving this. :)
Thanks in advance!
Jorrit
ARG RESTY_VERSION="1.13.6.2" ARG RESTY_LUAROCKS_VERSION="2.4.4" ARG RESTY_OPENSSL_VERSION="1.1.0i" ARG RESTY_PCRE_VERSION="8.42" ARG NCHAN_VERSION="1.2.4"
I'll need your nginx config and your usage pattern to start with. Email me at [email protected] and we'll figure out the rest from there.