Particular / ServicePulse

Production monitoring for distributed systems.
https://docs.particular.net/servicepulse/
Other
34 stars 27 forks source link

Ability to archive failed messages before a certain timestamp #1487

Open ramonsmits opened 1 year ago

ramonsmits commented 1 year ago

Describe the feature.

Is your feature related to a problem? Please describe.

A user wanted to purge failed messages with a certain age. This currently isn't possible. Failed message groups can be archived but with an age filter.

Describe the requested feature

  1. Ability to archive failed messages based on a selectable age (timestamp cutoff).
  2. Ability to purge all documents part of a specific archive operation/task

Describe alternatives you've considered

The following steps only work on any instance that uses the RavenDB 3.5 storage engine which at the moment is the only engine version for primary/error instances:

  1. Open ServiceControl Management Utility (SCMU)
  2. Select the wrench icon to open the instance advanced options
  3. Start maintenance mode
  4. Open RavenDB studio by clicking the blue link just above the button
  5. Navigate to the "Query" tab
  6. Select index "Databases Indexes FailedMessageViewIndex"
  7. Enter a Lucene query that filters on your requirements
  8. Select "Run the query" (orange play button icon)
  9. Review the results to ensure these are messages that can be deleted
  10. Select "Delete all documents that match the query" (red trashcan icon)

An example query would be to filter on time sent:

TimeSent:[* TO 2023-04-01T00:00:00.0000000]

After that wait until the documents have been asynchronously been deleted from the database and all indexes to be updated (inspect storage IO via Resource Monitor for servicecontrol process).

Additional Context

No response

mauroservienti commented 8 months ago

As an addition to this, I raised: