Skip to content

Questions? Join our Discord.

JasperFx

Formal support for Wolverine, Marten, and Polecat is available through our Support Plans.

Logical message deduplication Added in 1.14.0 ​

Stop the same business intent running twice with Wolverine logical message deduplication (6.31+). The key is a domain fact, not Wolverine metadata: the cart, invoice or scheduled occurrence that makes two requests the same, declared once on the message with [DeduplicationIdentity] or ByMessage<T>, never a fresh Guid, Envelope.Id or send time. Covers [Deduplicated] on handlers, Wolverine.HTTP endpoints (Idempotency-Key header, 409 by default, DuplicateStatusCode) and gRPC RPCs; [DeduplicatedWithResponse] (6.45+) for Stripe-style replay of the first response (required DeduplicationScope, the byte-level request fingerprint and its 422, the 409 for an in-flight or unanswered claim, EnableDeduplicatedResponses and the wolverine_deduplicated_responses table, the claim that never rides the business transaction, and what is refused at startup); EnableMessageDeduplication, DeduplicationWindow and the wolverine_deduplication table; id precedence; Required and MissingDeduplicationIdException; RequireDeduplicationId(filter); the storage matrix (not Oracle, RavenDb or CosmosDb); the flag-off warning; the compensated and transactional claim paths and the concurrent-caller race; and the testing traps.

Use when a command, endpoint or RPC must not run twice for one business intent.

Skill details ​

  • Skill name: wolverine-messaging-logical-deduplication
  • Applies to: wolverine
  • Tags: messaging, deduplication, idempotency, idempotency-key, Deduplicated, DeduplicatedWithResponse, response-replay, DeduplicationScope, DeduplicationId, http, grpc, durability, marten, polecat, fisher, testing
  • Added in: 1.14.0
  • License: Proprietary. Copyright JasperFx Software LLC.

Proprietary. Copyright © JasperFx Software LLC. See the license for terms.