Releases: Particular/NServiceBus.NHibernate
6.2.1
6.2.0
As part of this release we had 4 issues closed.
Improvements
- #99 When storing a timeout entity NH cannot determine wether it should call
Save
orUpdate
- #93 SQL errors raised when doing schema create/updated when installing an endpoint are swallowed
Bugs
- #98 Configuration file is validated even though user explicitly overridden it by passing his own
Cfg.Configuration
object - #96 Installers don't work properly when hosting multiple endpoints in a single AppDomain
Where to get it
You can download this release from nuget
6.1.2
As part of this release we had 2 commits which resulted in 2 issues being closed.
Improvement
- #71 NHibernateStorageContext is null if no saga is defined in the endpoint.
Bug
- #90 Storing business data is impossible when using SQL Server transport and Oracle-based saga or outbox persistence
Where to get it
You can download this release from nuget
6.1.1
We detected a serious problem with the just released version 6.1.1
causing messages to not get processed as a result of not registering a needed behavior properly. We have unlisted this version from Nuget and we have released 6.1.2 with the fixes intended for 6.1.1
as well as the behavior fix. You should not be using version 6.1.1
in your software. If for some reason, you had updated the version before we unlisted the package from Nuget, please update your version to use 6.1.2 instead.
As part of this release we closed 2 issues.
Bugs
- #90 Storing business data is impossible when using SQL Server transport and Oracle-based saga or outbox persistence
Improvements
- #71 NHibernateStorageContext is null if no saga is defined in the endpoint.
Where to get it
You can download this release from nuget
6.0.2
This patch release has the following bug fixes:
- #92 Message is lost after a data access error while updating saga state when outbox is enabled
- #74 PostgreSql - outboxrecord table not being created
Bugs
#92 Message is lost after a data access error while updating saga state when outbox is enabled
When we investigated a recently reported support incident, we discovered a bug in NServiceBus.NHibernate versions 6.0.0 and 6.0.1 with a potential for message loss. This only happens when using both Sagas and the Outbox feature. If a database error occurred while updating a saga, then the message wasn't forwarded to the error queue and was lost instead. This bug was caused by the Outbox's de-duplication behavior with the way we handled database connections. We've verified that this does not occur in version 6.1.0.
How to know if you're affected:
- You are using either NServiceBus.NHibernate version 6.0.0 or 6.0.1 and
- You are using both the Outbox feature and the Sagas feature. This does not affect normal message handlers, even if you are using the Outbox feature.
What to do if you are affected:
If you are unable to upgrade to 6.1.0, please upgrade to the just released version 6.0.2. This fix changes the way outbox de-duplication behavior queries the outbox records. It now creates a separate database connection just for the de-duplication task instead of reusing the main database connection. This allows for the main database connection to be created within the same transaction scope of the saga handler. Therefore if a saga handler fails due to database update glitches or any other reason, then the database changes will rollback and the message will also rollback to the queue ensuring expected behavior and consistency.
#74 PostgreSql - outboxrecord table not being created
How to know if you're affected:
- You are using the Outbox feature and PostgreSql and you notice that the OutboxRecord table is not being created.
What to do if you are affected:
- Please upgrade to the released 6.0.2 version.
Where to get it
You can download this release from nuget
6.1.0
As part of this release we had 3 issues closed.
Improvements
- #82 Remove the
src
folder from the NuGet package - #81 Remove
Task.StartNew
when setting outbox messages as dispatched - #79 Automatically disable reusing of transport connection when SQL Server transport is detected and Outbox is on
Where to get it
You can download this release from nuget
5.0.2
4.5.4
6.0.1
As part of this release we had 13 commits which resulted in 1 issue being closed.
Bugs
#67 Cannot insert duplicate key in object 'dbo.TimeoutEntity'
Using existing message ID for timeout ID doesn't work when:
- Timeout storage is shared between endpoints
- and the same message goes through SLR subsequent times;
Fixed by always generating a new sequential GUID for timeout ID.
5.0.1
As part of this release we had 1 issue closed.
Bugs
#67 Cannot insert duplicate key in object 'dbo.TimeoutEntity'
Using existing message ID for timeout ID doesn't work when:
- Timeout storage is shared between endpoints
- and the same message goes through SLR subsequent times;
Fixed by always generating a new sequential GUID for timeout ID.