Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

implement IPersistTimeoutsV2 interface #97

Merged
merged 4 commits into from
Oct 9, 2015
Merged

Conversation

weralabaj
Copy link
Contributor

Who's affected

You might be affected if you are using one of the following transport configurations:

  • RabbitMQ transport
  • Azure transport
  • MSMQ or SQL transport with distributed transactions (DTC) disabled.

and you are using timeouts or deferred messages (e.g. Bus.Defer(...))

Symptoms

When experiencing connectivity issues with the transport there's a chance that a due timeout/deferred message is lost. Therefore the message will never arrive.

What to do if you are affected

We highly recommend to update to the latest patch versions of your NServiceBus and optional persistence and transport packages. For more details see issue Particular/NServiceBus#2885.

Connects to Particular/NServiceBus#2885

@weralabaj weralabaj changed the title Hotfix 2.2.2: Prevent timeout message loss when not using DTC [WIP] Hotfix 2.2.2: Prevent timeout message loss when not using DTC Oct 7, 2015
@weralabaj
Copy link
Contributor Author

@mauroservienti @DavidBoike @danielmarbach Could you have a look?

@DavidBoike
Copy link
Member

Actual code looks fine to me. But (I'm sure this is just my own lack of context) why the references to NServiceBus.5.2.8-beta0001?

@weralabaj
Copy link
Contributor Author

@DavidBoike This is because we have dependency on fixes we need to do in core at the same time. We manually uploaded package to myget, but once the actual release is done I'll change it to the correct version.

@DavidBoike
Copy link
Member

Makes sense. I'm 👍 (On all the others too, since they're all basically the same.)

try
{
CoreTimeoutData timeoutData;
return TryRemove(timeoutId, out timeoutData);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remind me: Why don't we have that try catch for the concurrency ex? (in the original try remove)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Duh, strike that

@andreasohlund
Copy link
Member

Looks good!

@weralabaj weralabaj changed the title [WIP] Hotfix 2.2.2: Prevent timeout message loss when not using DTC implement implement IPersistTimeoutsV2 interface Oct 9, 2015
@timbussmann timbussmann changed the title implement implement IPersistTimeoutsV2 interface implement IPersistTimeoutsV2 interface Oct 9, 2015
timbussmann added a commit that referenced this pull request Oct 9, 2015
implement IPersistTimeoutsV2 interface
@timbussmann timbussmann merged commit 776443b into support-2.2 Oct 9, 2015
@timbussmann timbussmann deleted the hotfix-2.2.2 branch October 15, 2015 20:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants