Scaleout Message Bus Memory Leak #2070

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

Comments

Projects
None yet
4 participants
@NTaylorMullen
Contributor

NTaylorMullen commented May 21, 2013

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.

@ghost ghost assigned NTaylorMullen May 21, 2013

NTaylorMullen added a commit that referenced this issue May 21, 2013

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

NTaylorMullen added a commit that referenced this issue May 22, 2013

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

NTaylorMullen added a commit that referenced this issue May 24, 2013

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

@ghost ghost assigned jcondex May 24, 2013

NTaylorMullen added a commit that referenced this issue May 25, 2013

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
@Xiaohongt

This comment has been minimized.

Show comment
Hide comment
@Xiaohongt

Xiaohongt May 28, 2013

Contributor

verified there is no functional regression

Contributor

Xiaohongt commented May 28, 2013

verified there is no functional regression

@davidfowl

This comment has been minimized.

Show comment
Hide comment
@davidfowl

davidfowl May 30, 2013

Member

I think we can close this

Member

davidfowl commented May 30, 2013

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