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 <[email protected]>
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,