EventHorizon.RocketMQ.Remoting 0.4.0
·
13 commits
to main
since this release
Breaking change
- Removes the public ConsumeResult.DeadLetter member.
- To request direct dead-lettering from a concurrent non-FIFO Remoting handler, set RemotingPushConsumeContext.DelayLevelWhenNextConsume to a negative value and return ConsumeResult.Retry.
- Code compiled against 0.3.x that returns ConsumeResult.DeadLetter must be updated before upgrading.
Consumer behavior
- Aligns the public Remoting consume-result contract with the official Apache RocketMQ Java and classic Go concurrent-consumer APIs: Success or Retry only.
- Preserves classic PULL direct dead-lettering through a negative delay level.
- Preserves the explicit POP direct-dead-letter extension: the client forwards the message and ACKs the POP receipt only after forwarding succeeds.
- Keeps MessageGroup FIFO and orderly retries locally serialized until success or MaxDeliveryAttempts; their handlers do not use the concurrent consume context.
- Keeps handler exceptions on the normal retry path rather than introducing a separate dead-letter result.
- Updates protocol documentation, XML API documentation, samples, telemetry descriptions, compatibility tests, and live Broker coverage.
Known differences
Duration-carrying Suspend behavior and the remaining Java/Go settlement differences are tracked in #25:
Package
NuGet: https://www.nuget.org/packages/EventHorizon.RocketMQ.Remoting/0.4.0