Skip to content

EventHorizon.RocketMQ.Remoting 0.5.0

Choose a tag to compare

@eventhorizon-cli eventhorizon-cli released this 08 Aug 23:35
0d7a257

Behavior

  • Align broker-assigned POP failure settlement with Apache RocketMQ Java rocketmq-all-5.5.0.
  • A negative RemotingPushConsumeContext.DelayLevelWhenNextConsume is now normalized to POP retry level 0; POP changes message invisibility and no longer performs classic direct-DLQ send-back followed by receipt ACK.
  • Internal PULL behavior is unchanged: a negative delay remains an explicit direct-DLQ request, and retry-policy exhaustion still sends the message to DLQ.
  • POP maximum-attempt handling remains Java-compatible and age-based: defer while the message is too young, then ACK after the terminal age threshold, without implicit DLQ forwarding.

Validation

  • Added live Remoting DLQ coverage for concurrent PULL, MessageGroup, and orderly consumption. Retry-policy cases invoke the handler twice: the initial failure, one retry, then DLQ.
  • Added live gRPC FIFO Push, non-FIFO Push, and LitePush DLQ coverage with the same one-retry boundary. No new gRPC package is published by this release.
  • PR CI passed format/build, all unit and .NET 8 checks, Codecov, and all four single-/multi-Broker Docker integration suites.

Compatibility

The primary released references are Java Remoting rocketmq-all-5.5.0 and Java gRPC java-5.2.1; released Go clients v2.1.2 and golang/v5.1.2 are secondary comparisons.

This is a pre-1.0 behavior change for applications that used a negative delay to force direct DLQ while the internal Push assignment selected POP. Such POP deliveries now follow the official Java retry path. The remaining released-Java SUSPEND differences are tracked in #25.

Full change: PR #26