GitHub user goutamadwant added a comment to the discussion: 
lockBatchMQ的超时时间不可以设置么?

如果你指的是传统 Java 客户端顺序消费时的 **RPC 等待超时**,目前需要区分两层:

- 底层 
[`MQClientAPIImpl.lockBatchMQ`](https://github.com/apache/rocketmq/blob/ff8f6f74c560e391261ccd716707c6d20422e253/client/src/main/java/org/apache/rocketmq/client/impl/MQClientAPIImpl.java#L1709-L1717)
 已经接收 `timeoutMillis`,并传给 `invokeSync`。
- 但 
[`RebalanceImpl`](https://github.com/apache/rocketmq/blob/ff8f6f74c560e391261ccd716707c6d20422e253/client/src/main/java/org/apache/rocketmq/client/impl/consumer/RebalanceImpl.java)
 的 `lock()` 和 `lockAll()` 调用时都写死了 `1000` 毫秒,所以普通 consumer 配置无法改变这两个调用的等待时间。

`rocketmq.client.rebalance.lockMaxLiveTime` / `lockInterval` 
控制的是锁过期判断和续锁间隔,不是这次 RPC 的超时,不要用它们替代。

若要做成可配置项,改动重点在调用方:保留默认 1000ms,让 `lock()`、`lockAll()` 一致读取客户端配置,并测试配置值确实传到了 RPC 
层。调大也会延长失败时 rebalance/续锁线程的等待,不能无限放宽。

以上按链接中的当前源码确认。你用的是哪个客户端版本,具体异常里的 `timeoutMillis` 是多少?这样可以确认是否就是这条调用路径。


GitHub link: 
https://github.com/apache/rocketmq/discussions/10952#discussioncomment-18325566

----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: [email protected]

Reply via email to