This is an automated email from the ASF dual-hosted git repository. lollipop pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/rocketmq.git
The following commit(s) were added to refs/heads/develop by this push: new 3d94585693 fix (#9516) Return origin handle to consumer when changeInvisibleDuration encounters flow limit 3d94585693 is described below commit 3d945856932507c4ad259afae1ccfd067340aa70 Author: qianye <wuxingcan....@alibaba-inc.com> AuthorDate: Tue Jul 8 10:17:37 2025 +0800 fix (#9516) Return origin handle to consumer when changeInvisibleDuration encounters flow limit Return origin handle to consumer when changeInvisibleDuration encounters flow limit --- .../apache/rocketmq/proxy/grpc/v2/GrpcMessagingApplication.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/GrpcMessagingApplication.java b/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/GrpcMessagingApplication.java index c470eda55c..9ee3f4fddd 100644 --- a/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/GrpcMessagingApplication.java +++ b/proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/GrpcMessagingApplication.java @@ -358,7 +358,14 @@ public class GrpcMessagingApplication extends MessagingServiceGrpc.MessagingServ @Override public void changeInvisibleDuration(ChangeInvisibleDurationRequest request, StreamObserver<ChangeInvisibleDurationResponse> responseObserver) { - Function<Status, ChangeInvisibleDurationResponse> statusResponseCreator = status -> ChangeInvisibleDurationResponse.newBuilder().setStatus(status).build(); + Function<Status, ChangeInvisibleDurationResponse> statusResponseCreator = status -> { + ChangeInvisibleDurationResponse.Builder builder = + ChangeInvisibleDurationResponse.newBuilder().setStatus(status); + if (Code.TOO_MANY_REQUESTS.equals(status.getCode())) { + builder.setReceiptHandle(request.getReceiptHandle()); + } + return builder.build(); + }; ProxyContext context = createContext(); try { this.addExecutor(this.consumerThreadPoolExecutor,