Particular ServiceControl auditing and Bus.HandleCurrentMessageLater();

86 views Asked by At

We recently had an endpoint with logic to defer message processing by simply calling Bus.HandleCurrentMessageLater() malfunction. Within ~48 hours ServiceControl's RavenDB file grew to over 100 gigs (It just kept calling defer on the same few messages).

Here are our SC retention settings: Audit Messages will be removed after this period: 14 Days. Error Messages that have been archived or resolved will be removed after this period: 10 Hours.


  1. What is the difference between a single endpoint repeatedly calling Bus.HandleCurrentMessageLater() and a large scale system handling 1,000s of messages per second? Is there some configuration for auditing that isn't available when simply calling HandleCurrentMessageLater or is the expectation that systems with such throughput can handle an SC database growing over 50 gigs in less than a day
  2. While looking for a better way to defer messages, I noticed there is quite a lot of discussion around deprecating the simple mechanisms present in NSB versions 4 and 5 with "throttling behaviors." Are custom behaviors still the "approved" method for throttling?
  3. Would it be possible to create a CustomCheck that can enable/disable a given handler if certain criteria have not been met?
0

There are 0 answers