Repository navigation
MP Core 0.9.3
MP Core 0.9.3
A patch version: an addition only. It follows 0.9.2.
Asked for by running the Tiffin sample: an order
whose restaurant never answered stayed paid for ever (finding T-08). ADR-015 has the decision.
Moving from 0.9.2
Nothing to do. The change is an addition; a message published without a delay is delivered as before.
New
| Package | What it adds |
|---|---|
MPCore.Messaging.Abstractions |
MessageDeliveryContext.DeliverAfter: the message is delivered no sooner than this delay after the work that publishes it commits |
MPCore.Messaging.Wolverine |
The delay, on every transport: the message waits in the host's durable store and is sent when it is due. A negative delay is refused |
Changed
| What | Now |
|---|---|
| The guide's list of what MP Core deliberately does not do | no longer names a delay set by the publisher |
| MP Core's own integration tests | run against RabbitMQ and Kafka too: both are in eng/compose.test.yaml and in the continuous integration. CONTRIBUTING.md names the two new variables |
Verified
| What | Result |
|---|---|
DelayedDeliveryTests, against PostgreSQL, RabbitMQ and Kafka |
7 tests. Before the change, a message with a delay of three seconds arrived at once on each of the three |
| Where a delayed message waits | an experiment over RabbitMQ: a Scheduled envelope in the host's PostgreSQL, and no message in the queue |
| MP Core's tests, 15 assemblies, against PostgreSQL, TimescaleDB, Redis, RabbitMQ and Kafka | 485 passed, none skipped, on this machine and on GitHub |
The API baseline of 0.9.2, for every package |
accepted |
| Both template shapes, generated from the packed template and built against the packed packages | service and modular monolith: 0 warnings, 0 errors |
| The Storefront sample's tests, against the packed packages | 262 passed |
| The Tiffin sample against this source, sixteen scenarios on empty databases | 286 checks passed; S15: an order a restaurant never answered is cancelled and paid back |