Skip to content
This repository has been archived by the owner on Nov 18, 2020. It is now read-only.

Terminate STOMP processor when reader exits due to an exception #8

Merged
merged 2 commits into from
Apr 8, 2015

Conversation

michaelklishin
Copy link
Member

Fixes #7.

When we encounter a socket or parsing error, we need to make sure to shoot down processor. Otherwise we leak direct Erlang client connections. Which in turn exposed interesting edge cases such as rabbitmq/rabbitmq-management#29.

Some background on why we fix it in this particular way:

  • We want to avoid "scary" crash reports in the SASL log on network-related exceptions (or even parsing errors).
  • We want to give the processor some time to finish what it's been doing.

So linking won't work.

To test this manually, connect to the server via netcat as explained in the STOMP plugin documentation but after sending a CONNECT frame, send some garbage and a few new lines. You will see a parsing error in the log.

For 3.6.0 we will refactor STOMP plugin to only have one process (à la MQTT).

Why not just link the two?

Then any network-related issue would
produce a scary crash report in the SASL log and
we won't give the processor some time to finish
what it may still be doing.

Fixes #7.
@dumbbell dumbbell added this to the n/a milestone Apr 8, 2015
dumbbell added a commit that referenced this pull request Apr 8, 2015
Terminate STOMP processor when reader exits due to an exception
@dumbbell dumbbell merged commit 013fc51 into stable Apr 8, 2015
@dumbbell dumbbell deleted the rabbitmq-stomp-7 branch January 2, 2018 16:10
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants