-
-
Notifications
You must be signed in to change notification settings - Fork 120
Open
Description
I was doing some internal tests and here's what I found.
- There's
sockjs_session_supsupervisor which is configured to have up to 10 failures in 10 seconds. - sockjs_session calls callback functions in context of its own process
- If there's error in the one of the callback methods, sockjs_session process will die and supervisor will restart it.
- If socks_session dies too often (basically 10 times in 10 seconds), the supervisor will be killed with all its children. Effectively, if you can find a way to send a message which triggers the exception, you can kill SockJS server.
I think client processes should be isolated. Even if one client misbehaves, it should not kill whole process tree.
Not sure how to fix it properly, but few ideas:
- Increasing limits won't really help - it is temporary measure
- Maybe switch to
temporaryrestart strategy? The session will be closed anyway -terminate()is getting called and the session is removed from ETS. Plus, the state is lost, so it can't recover. Or am I missing something?
Metadata
Metadata
Assignees
Labels
No labels