EventHorizon.RocketMQ.Remoting 0.6.0
Behavior
- Add
RemotingPushConsumeContext.SuspendCurrentQueueDurationfor orderly PULL consumption, matching Apache RocketMQ Javarocketmq-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.0GitHub release as non-draft and non-prerelease; stable Gov2.1.2was 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