Skip to content

Scaleout Message Bus Memory Leak #2070

Closed
NTaylorMullen opened this Issue May 21, 2013 · 2 comments

4 participants

@NTaylorMullen

Whenever we get a message we'd call save on the message which would force the messages Topic into the HasSubscription state despite its current state.

However we'd only ever remove the topic if it is in the NoSubscription state, therefore we could leak topics.

@NTaylorMullen NTaylorMullen added a commit that referenced this issue May 21, 2013
@NTaylorMullen NTaylorMullen Fixed memory leak in MessageBus for scaleout
- Whenever we'd get a message we'd call save on the message which would force the message into the HasSubscription state despite its current state

#2070
19e3fdd
@NTaylorMullen NTaylorMullen added a commit that referenced this issue May 22, 2013
@NTaylorMullen NTaylorMullen Fixed several more race conditions within the MessageBus
- Fixed condition that lead to concurrent subscribe cases working incorrectly
- Made topic death scenarios maintain state correctly
- Added InterlockedHelper to do a CompareExchangeOr
- Fixed existing tests to work with the new "dying" state of topics

#2070
f0f6f76
@NTaylorMullen NTaylorMullen added a commit that referenced this issue May 24, 2013
@NTaylorMullen NTaylorMullen Fixed memory leak in MessageBus for scaleout
- Whenever we'd get a message we'd call save on the message which would force the message into the HasSubscription state despite its current state

Added facts to verify state changes correctly

- Had to modify existing tests to handle the new topic states correctly.

AddEvent needs to call SubscribeTopic to prevent groups from being deleted once they have been created (racey)

Fixed several more race conditions within the MessageBus

- Fixed condition that lead to concurrent subscribe cases working incorrectly
- Made topic death scenarios maintain state correctly
- Added InterlockedHelper to do a CompareExchangeOr
- Fixed existing tests to work with the new "dying" state of topics

Added new test to verify async threads subscribing simultaneously

Added Scaleout stress tests

#2070
88b7923
@jcondex jcondex was assigned May 24, 2013
@NTaylorMullen NTaylorMullen added a commit that referenced this issue May 25, 2013
@NTaylorMullen NTaylorMullen Fixed memory leak in MessageBus for scaleout
- Whenever we'd get a message we'd call save on the message which would force the message into the HasSubscription state despite its current state

Added facts to verify state changes correctly

- Had to modify existing tests to handle the new topic states correctly.

AddEvent needs to call SubscribeTopic to prevent groups from being deleted once they have been created (racey)

Fixed several more race conditions within the MessageBus

- Fixed condition that lead to concurrent subscribe cases working incorrectly
- Made topic death scenarios maintain state correctly
- Added InterlockedHelper to do a CompareExchangeOr
- Fixed existing tests to work with the new "dying" state of topics

Added new test to verify async threads subscribing simultaneously

Added Scaleout stress tests

#2070
8d2719b
@Xiaohongt
SignalR member

verified there is no functional regression

@davidfowl
SignalR member

I think we can close this

@davidfowl davidfowl closed this Jun 1, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.