Skip to content

EventHorizon.RocketMQ.Remoting 0.6.1

Choose a tag to compare

@eventhorizon-cli eventhorizon-cli released this 09 Aug 13:26
b60eeee

Behavior

  • Align classic orderly PULL retry lifecycle with the official Apache RocketMQ Java rocketmq-all-5.5.0 release.
  • Add OrderlyMaxReconsumeTimes, defaulting to -1 for effectively unlimited local orderly reconsumes. 0 publishes after the initial failure; a positive value permits that many local reconsumes.
  • Expose the zero-based mutable RemotingMessageView.ReconsumeTimes used by Java orderly consumption while preserving the immutable one-based Broker DeliveryAttempt.
  • At finite exhaustion, publish to %RETRY%<group> through internal producer semantics with origin, retry, reconsume, maximum, delay, flag, and body metadata. The Broker performs the DLQ redirect when the supplied count exceeds the maximum.
  • Retry terminal publication up to three immediate wire sends, select an alternate Broker when possible, and fall back to the default topic route when the retry-topic route is missing or unwritable. A failed publication retains the message and offset for another local attempt.
  • Record the terminal retry-topic publication as one logical reject settlement operation without changing concurrent PULL, POP, or MessageGroup behavior.

Compatibility

This patch adds protocol-specific public members and changes the default orderly retry budget from the previous finite client limit to the released Java unlimited sentinel. Configure OrderlyMaxReconsumeTimes explicitly when finite orderly exhaustion and Broker DLQ routing are required.

Validation

  • Audited against the official stable Java rocketmq-all-5.5.0 tag; released Go v2.1.2 was used only as secondary corroboration.
  • PR and merged-main CI passed formatting, build, 638 Remoting unit tests, 27 compatibility tests, runtime validation, Codecov, and all single-/multi-Broker Docker integration suites.
  • Focused live DLQ coverage fails the initial delivery and one retry before verifying Broker-routed DLQ progression.

Full change: PR #28

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