-
Notifications
You must be signed in to change notification settings - Fork 30
implement IPersistTimeoutsV2 interface #120
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
Conversation
7a40775
to
e164638
Compare
@Particular/nservicebus nhibernate experts please review |
c68c2aa
to
9f61207
Compare
As discussed during the review:
|
@ramonsmits just had a look at the |
No, that should not be the case as it then does a SELECT FOR UPDATE (rowlock), that should not result in a deadlock, it can only result in a sequential operation. 2nd transaction will have to wait before the first completes(commit or abort) but the 1st does not have to wait for the 2nd because it already acquired a row write lock. |
@ramonsmits never mind, It seems to be an issue with SQLite, same code works on SQLExpress. |
@ramonsmits please review the latest commit, I changed the code according to your points:
|
@@ -11,7 +11,7 @@ namespace NServiceBus.TimeoutPersisters.NHibernate.Tests | |||
public class When_fetching_timeouts_from_storage : InMemoryDBFixture | |||
{ | |||
[Test] | |||
public void Should_return_the_complete_list_of_timeouts() | |||
public void GetNextChunk_should_return_the_complete_list_of_timeouts() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why the method name change? Test is unaltered?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
to distinct between GetNextChunk
and Peek
tests
07d54a9
to
9c91d9c
Compare
@Particular/nservicebus @ramonsmits any further concerns or can we merge this? |
9c91d9c
to
fcba557
Compare
Looks good to me |
implement IPersistTimeoutsV2 interface
Who's affected
You might be affected if you are using one of the following transport configurations:
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 #2885
Connects to Particular/NServiceBus#2885