Replies: 2 comments 3 replies
|
@Maflend I think you're a little off. The DurabilityAgent has nothing to do with send and forward mechanics. Do you mean messages that are recovered by the DurabilityAgent, or scheduled messages? And the wire tap is only for received messages. And have we had the conversation yet where I suggest that maybe you have fewer issues if you use Wolverine.Http and try to be more idiomatic rather than trying to use the outbox outside like that? I think I need much more information from you here. Do you have any kind of reproduction code? I don't think the wire tap should fire at all in any of the code you pasted up above. I'm moving this to a discussion as I'm not sure there's anything really wrong yet. |
3 replies
|
Already solved in the most recent version. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment


Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Describe the bug
IWireTap.RecordSuccessAsync() is not called when messages are sent via the DurabilityAgent (store-and-forward pattern).
WireTap only fires when using IDbContextOutbox.FlushOutgoingMessagesAsync() or IDbContextOutbox.SaveChangesAndFlushMessagesAsync().
When using the transactional outbox pattern without explicit flush:
The message is persisted to wolverine_outgoing_envelopes and eventually sent by the DurabilityAgent, but IWireTap is never invoked for this send.
To Reproduce
Expected behavior
IWireTap.RecordSuccessAsync() should be called for every message that is successfully sent, regardless of whether it was sent inline (via FlushOutgoingMessagesAsync()) or deferred (via DurabilityAgent).
Additional context
This behavior is not documented and can be confusing for users implementing audit/logging via IWireTap. The store-and-forward pattern (relying on DurabilityAgent without explicit flush) is a valid and supported Wolverine pattern, but WireTap silently does not work in this mode.
Workarounds:
All reactions