Skip to content

EventHorizon.RocketMQ.Remoting 0.6.0

Choose a tag to compare

@eventhorizon-cli eventhorizon-cli released this 09 Aug 10:30
69804b7

Behavior

  • Add RemotingPushConsumeContext.SuspendCurrentQueueDuration for orderly PULL consumption, matching Apache RocketMQ Java rocketmq-all-5.5.0.
  • Add RemotingPushConsumerOptions.OrderlySuspendDuration, defaulting to one second. Effective orderly suspension is limited to 10 milliseconds through 30 seconds.
  • An orderly retry pauses only its current physical queue. Other assigned queues continue, and stopping the consumer cancels the local wait promptly.
  • Preserve a duration override assigned before a handler throws, then retry the same orderly message with that duration.
  • At the configured terminal attempt, both clustered and broadcasting orderly consumers send the message back to DLQ. The offset advances only after send-back succeeds; settlement failure retains the message and offset for another local attempt.
  • Concurrent broadcasting, concurrent PULL, MessageGroup FIFO, and POP retain their separate released-Java semantics.

Validation

  • Rechecked the official rocketmq-all-5.5.0 GitHub release as non-draft and non-prerelease; stable Go v2.1.2 was used only as secondary Remoting corroboration.
  • PR CI passed formatting, build, all unit and .NET 8 checks, Codecov, and all four single-/multi-Broker Docker integration suites.
  • Focused live Remoting coverage verifies explicit negative DLQ, concurrent and MessageGroup retry exhaustion, and clustered/broadcasting orderly retry exhaustion. Retry-exhaustion cases fail the initial attempt and one retry before DLQ progression.

The remaining orderly retry-budget and attempt-visibility difference from released Java is tracked in #25.

Full change: PR #27

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