Skip to content

EventHorizon.RocketMQ.Remoting 0.4.0

Choose a tag to compare

@eventhorizon-cli eventhorizon-cli released this 08 Aug 11:34
· 13 commits to main since this release
112edfd

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:

#25

Package

NuGet: https://www.nuget.org/packages/EventHorizon.RocketMQ.Remoting/0.4.0