Releases: Particular/ServiceControl
1.27.0
As part of this release we had 58 commits which resulted in 5 issues being closed.
This release resolves a bug that in certain scenarios caused ServiceControl
to hide failed messages from the users and could lead to their deletion after Error Retention Period.
Upgrade Immediately
All users are advised to upgrade to this version of ServiceControl immediately.
Critical Fixes
- 842 - Event failing on multiple logical subscribers can results in data loss
How to know if you are affected
Anyone using ServiceControl
and performing publish-subscribe with multiple logical subscribers running on NServiceBus version 5 and earlier is affected. Users who recently upgraded to V6 from earlier versions should also consider themselves affected.
Symptoms
When event processing fails on multiple logical subscribers, ServiceControl
treats them all as a single failing message. All failed messages are presented as a single entry through the ServiceControl
API and, as a result, in the ServicePulse
UI as well.
During the installation of ServiceControl
1.27.0
, all incorrectly merged messages will be split and any problems found will be written to a log file located in the ServiceControl
installation path called nsb_log_yyyy-MM-dd_seq.txt
.
The log entry has the following structure: Applying migration [Split Failed Message Documents] complete: Found {x} issue(s) in {y} Failed Message document(s). Created {z} new document(s). Deleted {d} old document(s)
. For any issue found, an original document will be split into multiple documents, each holding a subset of the failed messages. All new documents will have their status set to Unresolved regardless of their current values. This will prevent any potential data loss caused by the Error Retention Process.
If new documents get created, users should expect changes to their current failed messages data, specifically:
- Some failed message groups may decrease in size - this can happen when some failed messages are moved to different groups
- Some failed message groups may be gone - this can happen when all failed messages are moved to different groups
- New failed message groups will be created - newly created messages will be moved from their original groups and assigned to groups prefixed with
Issue 842 - {endpoint_name} -
.
Retry messages that are in-flight when the upgrade happens are handled gracefully. If the retry fails then the new failure will be matched with the original failed message document and it will be added to a failure group as usual. On the other hand, if the retry succeeds, then the audited success will be matched with the original failed message document and marked as successfully retried.
Should you upgrade immediately
Yes, all affected users should upgrade immediately.
If you are unable to upgrade immediately, we urge you to extend the Error Retention Period to the maximum value of 45 days to delay a potential message loss scenario until the upgrade can be done.
After upgrading users should examine all newly created groups prefixed with Issue 842 -
and for each decide whether it should be retried or archived.
Improvements
- 844 - Blank entry in Add Instance dropdown changed to "Please Select ..."
- 841 - Limit TransportMessage access
- 840 - I/O improvements for retry pipeline
Where to get it
You can download this release from our website.
1.26.0
As part of this release we had 4 commits which resulted in 2 issues being closed.
Improvements
- 833 - Standardize naming of ServiceControl Management Utility across all components
Bug Fixes
- 837 - Disabling monitoring of endpoints does not persist changes
Where to get it
You can download this release from our website.
1.25.0
As part of this release we had 28 commits which resulted in 7 issues being closed.
New Features
-
827 - Expire EventLogItems documents
We are now purging expiredEventLogItems
documents from RavenDB.By default we purge every 14 days, this default can be changed see documentation.
-
825 - Added metrics.net
We have now include the metrics dashboard for diagnostics purpose.
To access it, navigate to/metrics/
, eghttp://localhost:33333/metrics/
Improvements
- 826 - Using changes api in EventDispatcher
- 824 - Use batch api to create FailedMessageRetry documents
- 822 - Remove raven unit of work
- 821 - Cache subscriptions
Where to get it
You can download this release from our website.
1.24.0
As part of this release we had 63 commits which resulted in 12 issues being closed.
New Features
-
781 - Added support for MessageType groups for failure messages
This release adds support for viewing failed messages grouped byMessage Type
.I modified the existing
GET/HEAD /recoverability/groups/{classifier?Exception Type and Stack Trace}
actions to support a new parameter to set the classifier. The existingException Type and Stack Trace
is set as the default grouping to maintain compatibility with the current version of ServicePulse. The new classifier isMessage Type
.I have also added
GET /recoverability/classifiers
to retrieve a list of the currently implemented classifiers to make it easier for ServicePulse to implement this feature.
Improvements
- 808 - Update ServiceControl to RabbitMq transport v3.5.0
- 807 - Update ServiceControl to .Net v4.5.2
- 806 - Update ServiceControl to NServiceBus v5.2.19
- 783 - Improve license reporting to ServicePulse
Bug Fixes
- 796 - Setting error retention throws exception
- 794 - CorrelationId is set to null when missing in failed message
- 790 - Duplicate messages in error queue import can crash ServiceControl
- 789 - License reporting in ServiceControl does not refresh
- 786 - Disabled fields in SCMU instance config should not have underline
- 782 - Management Utility does not handle upgrade protection correctly.
Where to get it
You can download this release from our website.
1.23.0
As part of this release we had 37 commits which resulted in 4 issues being closed.
Should You Upgrade Immediately
All users are advised to upgrade to this version of ServiceControl immediately.
Features
- #768 Support Group Managed Service Accounts
- #766 Added warning when audit and/or error forwarding is enabled
- #762 Added support for redirecting failed messages when retried
Bug
- #779 Expiration of failed messages fails to delete message bodies
Where to get it
You can download this release from our website.
1.22.0
1.21.0
1.20.0
1.19.0
As part of this release we had 32 commits which resulted in 8 issues being closed.
Improvement
- #757 Support DTC for SQL Server Multi-Instance Topologies
- #755 Add Advanced Options Screen in the Management Utility
- #744 Simplify the Licensing Logic in Management Utility
- #732 Allow reinstalling an instance to work with the same
data files - #715 Support "NT AUTHORITY\LocalService" in Management Utility
Bug
- #749 Initializing Raygun in the background
- #625 Adding ExposeRavenDB setting can cause service to fail on startup
Where to get it
You can download this release from nuget
1.18.0
As part of this release we had 6 commits which resulted in 3 issues being closed.
Bugs
- #676 License dialog is not refreshed when importing a new license file
- #670 ServiceControl Management Utility license screen gives no feedback when importing a license
- #669 ServiceControl Management Utility license dialog doesn't display the edition
Where to get it
You can download this release from our website