| 序号 | 错误信息 | 文件名 | 可能的解决方案 |
|:----|:----|:----|:----|
| 1
| throw new RemotingCommandException("topicFilterType =
[" + topicFilterType + "] value invalid", e)
| CreateTopicRequestHeader.java
| 检查topicFilterType值是否符合枚举范围(如SINGLE\_TAG、MULTI\_TAG等)
|
| 2
| throw new RuntimeException("this.subRemotingServer.serverBootstrap.bind().sync() InterruptedException", e)
| NettyRemotingServer.java
| 在bind()操作中处理InterruptedException,增加重试机制或优雅退出逻辑
|
| 3
| throw new RuntimeException("Failed to create SSLContext", e)
| NettyRemotingClient.java
| 检查SSL证书路径、密码是否正确,确保JDK信任库包含相关证书
|
| 4
| throw new RuntimeException("this.serverBootstrap.bind().sync() InterruptedException", e1)
| ServerResponseMocker.java
| 测试环境中避免bind操作被中断,检查线程池配置
|
| 5
| throw new MQClientException("Not found the topic stats info", null)
| DefaultMQAdminExtImpl.java
| 确认topic已在broker创建,通过admin工具检查topic元数据
|
| 6
| throw new MQClientException("Not found the producer group connection", null)
| DefaultMQAdminExtImpl.java
| 检查生产者是否启动并成功连接到namesrv,确认group名称正确
|
| 7
| throw new IllegalArgumentException("please set the option according to the format", numberFormatException)
| CleanControllerBrokerMetaSubCommand.java
| 按指定格式(如逗号分隔的整数)设置brokerControllerIdsToClean参数
|
| 8
| future.completeExceptionally(new MQBrokerException(1, "err"))
| ConsumerProcessorTest.java
| 测试用例中模拟broker异常场景,验证消费者容错逻辑
|
| 9
| ackResultFuture.completeExceptionally(new MQClientException(0, "error"))
| DefaultReceiptHandleManagerTest.java
| 测试中完善ack逻辑,确保异常场景下资源正确释放
|
| 10
| ackResultFuture.completeExceptionally(new MQClientException(0, "error"))
| DefaultReceiptHandleManagerTest.java
| 同上,检查测试用例中error触发条件是否合理
|
| 11
| ackResultFuture.completeExceptionally(new MQClientException(0, "error"))
| DefaultReceiptHandleManagerTest.java
| 同上,优化测试断言逻辑
|
| 12
| throw new RuntimeException("Failed to create SSLContext for Http2ProtocolProxyHandler", e)
| Http2ProtocolProxyHandler.java
| 检查HTTP/2协议所需的SSL配置,确保ALPN扩展支持
|
| 13
| throw new RuntimeException("Create topic to broker failed", e)
| ContainerIntegrationTestBase.java
| 集成测试中确保broker已启动,检查topic创建权限配置
|
| 14
| throw new RuntimeException("Create group to broker failed", e)
| ContainerIntegrationTestBase.java
| 确认group名称符合命名规范,检查broker对group的权限控制
|
| 15
| throw new RuntimeException("Couldn't create tmp folder", e)
| ContainerIntegrationTestBase.java
| 检查临时目录读写权限,更换为系统默认临时目录(如/tmp)
|
| 16
| throw new RuntimeException("Couldn't add slave broker", e)
| ContainerIntegrationTestBase.java
| 检查主从broker配置一致性(如brokerIP、端口),确保网络互通
|
| 17
| throw new AuthorizationException("create Acl to RocksDB failed.", e)
| LocalAuthorizationMetadataProvider.java
| 检查RocksDB数据库路径权限,确保Acl数据格式正确
|
| 18
| throw new AuthorizationException("delete Acl from RocksDB failed.", e)
| LocalAuthorizationMetadataProvider.java
| 删除前检查Acl记录是否存在,处理RocksDB并发操作冲突
|
| 19
| throw new AuthorizationException("update Acl to RocksDB failed.", e)
| LocalAuthorizationMetadataProvider.java
| 确保更新的Acl数据主键存在,处理RocksDB事务提交失败场景
|
| 20
| throw new AuthorizationException("get Acl from RocksDB failed.", e)
| LocalAuthorizationMetadataProvider.java
| 检查查询的Acl主键是否正确,处理RocksDB连接超时问题
|
| 21
| throw new AuthorizationException("User
:{} not found.", user.getUsername())
| UserAuthorizationHandler.java
| 验证用户名是否存在于认证系统中,检查用户同步状态
|
| 22
| throw new AuthenticationException("User
:{} is disabled.", user.getUsername())
| UserAuthorizationHandler.java
| 在管理界面启用被禁用用户,或检查用户状态同步逻辑
|
| 23
| throw new AuthorizationException("The subject of {} is not exist.", acl.getSubject().getSubjectKey())
| AuthorizationMetadataManagerImpl.java
| 确认Acl主题已创建,检查主题密钥格式是否正确
|
| 24
| throw new AuthorizationException("The subject of {} is not exist.", acl.getSubject().getSubjectKey())
| AuthorizationMetadataManagerImpl.java
| 同上,检查主题元数据是否已同步到授权系统
|
| 25
| throw new AuthorizationException("parse authorization context error.", t)
| DefaultAuthorizationContextBuilder.java
| 检查授权上下文JSON格式,修复解析逻辑中的异常处理
|
| 26
| throw new RuntimeException("Failed to load the authorization provider.", e)
| AuthorizationFactory.java
| 检查授权提供者类路径是否正确,确保依赖包已引入
|
| 27
| throw new RuntimeException("Failed to load the authorization metadata provider.", e)
| AuthorizationFactory.java
| 确认元数据提供者配置正确,处理初始化时的异常
|
| 28
| throw new AuthorizationException("The request of {} is not support.", context.getClass().getSimpleName())
| StatefulAuthorizationStrategy.java
| 更新授权策略以支持该请求类型,或限制不支持的请求访问
|
| 29
| throw new AuthorizationException("Authorization failed. Please verify your access rights and try again.", exception)
| AbstractAuthorizationStrategy.java
| 检查用户权限配置,确保包含该操作所需的权限项
|
| 30
| throw new AuthenticationException("create user to RocksDB failed", e)
| LocalAuthenticationMetadataProvider.java
| 检查用户数据格式,确保RocksDB有足够空间存储新用户
|
| 31
| throw new AuthenticationException("delete user from RocksDB failed", e)
| LocalAuthenticationMetadataProvider.java
| 删除前验证用户是否存在,处理RocksDB锁冲突
|
| 32
| throw new AuthenticationException("update user to RocksDB failed", e)
| LocalAuthenticationMetadataProvider.java
| 确保用户数据版本一致性,处理并发更新冲突
|
| 33
| throw new AuthenticationException("Get user from RocksDB failed.", e)
| LocalAuthenticationMetadataProvider.java
| 检查用户名是否正确,处理RocksDB读取超时问题
|
| 34
| throw new AuthenticationException("User
:{} is not found.", context.getUsername())
| DefaultAuthenticationHandler.java
| 验证用户名正确性,检查用户数据同步状态
|
| 35
| throw new AuthenticationException("User
:{} is disabled.", context.getUsername())
| DefaultAuthenticationHandler.java
| 启用用户账号,或提示用户联系管理员解锁
|
| 36
| throw new AuthenticationException("Init authentication user error.", e)
| AuthenticationMetadataManagerImpl.java
| 检查初始化用户数据的SQL脚本或配置文件,修复数据格式错误
|
| 37
| throw new AuthenticationException("Init inner client authentication credentials error", e)
| AuthenticationMetadataManagerImpl.java
| 确认内部客户端凭证文件存在且格式正确
|
| 38
| throw new AuthenticationException("User
:{} is not found", username)
| AuthenticationMetadataManagerImpl.java
| 检查用户查询逻辑,确保用户名大小写敏感处理正确
|
| 39
| throw new AuthenticationException("create authentication context error.", e)
| DefaultAuthenticationContextBuilder.java
| 修复上下文创建逻辑中的空指针或格式错误
|
| 40
| throw new RuntimeException("Failed to load the authentication provider.", e)
| AuthenticationFactory.java
| 检查认证提供者类是否实现了指定接口,处理类加载异常
|
| 41
| throw new RuntimeException("Failed to load the authentication metadata provider", e)
| AuthenticationFactory.java
| 确认元数据提供者配置路径正确,处理IO异常
|
| 42
| throw new AuthenticationException("The request of {} is not support.", context.getClass().getSimpleName())
| StatefulAuthenticationStrategy.java
| 扩展认证策略以支持新请求类型,或返回明确的不支持提示
|
| 43
| throw new AuthenticationException("Authentication failed. Please verify the credentials and try again.", exception)
| AbstractAuthenticationStrategy.java
| 检查用户名密码是否正确,处理密码加密/解密逻辑错误
|
| 44
| throw new RemotingCommandException("Failed to decode RegisterBrokerBody", e)
| DefaultRequestProcessor.java
| 检查RegisterBrokerBody的序列化格式,确保与broker版本兼容
|
| 45
| final Throwable exception = new OMSRuntimeException("
-1", "Test Error")
| DefaultPromiseTest.java
| 测试用例中模拟异常场景,验证Promise异常处理逻辑
|
| 46
| final Throwable exception = new OMSRuntimeException("
-1", "Test Error")
| DefaultPromiseTest.java
| 同上,优化测试断言信息
|
| 47
| Throwable exception = new OMSRuntimeException("
-1", "Test Error")
| DefaultPromiseTest.java
| 同上,确保测试覆盖率
|
| 48
| throw new OMSNotSupportedException("
-1", "ResourceManager is not supported in current version.")
| MessagingAccessPointImpl.java
| 升级到支持ResourceManager的版本,或使用替代功能
|
| 49
| throw new OMSRuntimeException("
-1", "OMS AccessPoints is null or empty.")
| AbstractOMSProducer.java
| 配置有效的OMS AccessPoints地址,确保不为空或空字符串
|
| 50
| throw new OMSRuntimeException("
-1", e)
| AbstractOMSProducer.java
| 捕获并处理底层异常(如网络异常),返回更具体的错误信息
|
| 51
| return new OMSTimeOutException("
-1", String.format("Send message to broker timeout, %dms, Topic=%s, msgId=%s", this.rocketmqProducer.getSendMsgTimeout(), topic, msgId), e)
| AbstractOMSProducer.java
| 增加sendMsgTimeout配置,优化broker处理速度,或减少消息大小
|
| 52
| return new OMSRuntimeException("
-1", String.format("Received a broker exception, Topic=%s, msgId=%s, %s", topic, msgId, brokerException.getErrorMessage()), e)
| AbstractOMSProducer.java
| 根据broker异常信息修复(如topic不存在则创建,权限不足则申请权限)
|
| 53
| return new OMSRuntimeException("
-1", String.format("Network connection experiences failures. Topic=%s, msgId=%s, %s", topic, msgId, connectException.getMessage()))
| AbstractOMSProducer.java
| 检查网络连接,修复DNS解析问题,增加重试机制
|
| 54
| return new OMSRuntimeException("
-1", String.format("Topic does not exist, Topic=%s, msgId=%s", topic, msgId), e)
| AbstractOMSProducer.java
| 先创建topic再发送消息,或配置自动创建topic功能
|
| 55
| return new OMSMessageFormatException("
-1", String.format("A illegal message for RocketMQ, Topic=%s, msgId=%s", topic, msgId), e)
| AbstractOMSProducer.java
| 检查消息格式(如属性、body大小),确保符合RocketMQ要求
|
| 56
| return new OMSRuntimeException("
-1", "Send message to RocketMQ broker failed.", e)
| AbstractOMSProducer.java
| 综合检查broker状态、网络、消息格式,查看broker日志定位原因
|
| 57
| throw new OMSNotSupportedException("
-1", "Only BytesMessage is supported.")
| AbstractOMSProducer.java
| 将消息转换为BytesMessage类型,确保符合格式要求
|
| 58
| throw new OMSRuntimeException("
-1", "Send message to RocketMQ broker failed.")
| ProducerImpl.java
| 检查生产者配置(如namesrv地址),确保连接正常
|
| 59
| throw new OMSRuntimeException("
-1", e)
| DefaultPromise.java
| 捕获底层异常并封装,提供更友好的错误提示
|
| 60
| throw new OMSRuntimeException("
-1", "OMS AccessPoints is null or empty.")
| PushConsumerImpl.java
| 配置有效的OMS AccessPoints,确保消费者初始化参数正确
|
| 61
| throw new OMSRuntimeException("
-1", "Consumer Group is necessary for RocketMQ, please set it.")
| PushConsumerImpl.java
| 设置有效的Consumer Group名称,确保符合命名规范
|
| 62
| throw new OMSRuntimeException("
-1", String.format("RocketMQ push consumer can't attach to %s.", queueName))
| PushConsumerImpl.java
| 检查queueName是否存在,确认消费者对该队列有访问权限
|
| 63
| throw new OMSRuntimeException("
-1", String.format("RocketMQ push consumer fails to unsubscribe topic
: %s", queueName))
| PushConsumerImpl.java
| 确认unsubscribe前已订阅该topic,处理并发 unsubscribe 冲突
|
| 64
| throw new OMSRuntimeException("
-1", e)
| PushConsumerImpl.java
| 捕获并处理消费者内部异常(如线程池满),增加监控告警
|
| 65
| throw new OMSRuntimeException("
-1", String.format("The topic/queue %s isn't attached to this consumer", rmqMsg.getTopic()))
| PushConsumerImpl.java
| 确保消费者已订阅该topic,检查消息路由是否正确
|
| 66
| throw new OMSRuntimeException("
-1", "Consumer Group is necessary for RocketMQ, please set it.")
| PullConsumerImpl.java
| 为PullConsumer设置有效的Consumer Group
|
| 67
| throw new OMSRuntimeException("
-1", "OMS AccessPoints is null or empty.")
| PullConsumerImpl.java
| 配置非空的OMS AccessPoints地址
|
| 68
| throw new OMSRuntimeException("
-1", e)
| PullConsumerImpl.java
| 处理拉取消息时的异常(如offset无效),增加重试逻辑
|
| 69
| throw new OMSMessageFormatException("", "Cannot assign byte
[] to " + type.getName())
| BytesMessageImpl.java
| 确保消息体类型与赋值类型一致,增加类型转换校验
|
| 70
| throw new RuntimeException("Couldn't create tmp folder", e)
| BrokerContainerStartupTest.java
| 测试环境中确保/tmp目录可写,或指定自定义临时目录
|
| 71
| throw new RuntimeException("Couldn't create tmp folder", e)
| BrokerContainerTest.java
| 同上,检查测试用例中的目录权限设置
|
| 72
| throw new RuntimeException("get local inet address fail", e)
| MixAll.java
| 检查网络接口配置,确保至少有一个可用的本地IP地址
|
| 73
| throw new RuntimeException("Can not get local ip", e)
| UtilAll.java
| 修复本地IP获取逻辑,处理多网卡场景下的IP选择
|
| 74
| throw new MQFilterException("Invalid MessageSelector. ", e)
| SelectorParser.java
| 检查MessageSelector语法(如SQL92表达式),修复解析错误
|
| 75
| doThrow(new MQClientException("checkClientInBroker exception", null)).when(mQClientAPIImpl).checkClientInBroker(
| MQClientInstanceTest.java
| 测试用例中模拟checkClientInBroker异常,验证容错逻辑
|
| 76
| doThrow(new RemotingException("", null))
| RemoteBrokerOffsetStoreTest.java
| 测试中模拟远程调用异常,验证offset存储的异常处理
|
| 77
| throw new MQClientException("the specified group is blank", null)
| Validators.java
| 确保group名称不为空或空白字符串,增加参数校验
|
| 78
| throw new MQClientException("the specified group is longer than group max length 255.", null)
| Validators.java
| 缩短group名称至255字符以内,符合命名规范
|
| 79
| throw new MQClientException("The specified topic is blank", null)
| Validators.java
| 确保topic名称不为空,增加创建topic时的非空校验
|
| 80
| exception = new MQClientException("create topic to broker exception", e)
| MQAdminImpl.java
| 检查创建topic的参数(如queue数),确保broker有足够资源
|
| 81
| throw new MQClientException("create new topic failed", e)
| MQAdminImpl.java
| 查看broker日志定位创建失败原因(如权限、磁盘满)
|
| 82
| throw new MQClientException("Invoke Broker
[" + brokerAddr + "] exception", e)
| MQAdminImpl.java
| 检查brokerAddr是否可达,处理网络超时或broker宕机
|
| 83
| throw new MQClientException("The broker
[" + mq.getBrokerName() + "] not exist", null)
| MQAdminImpl.java
| 确认broker已注册到namesrv,检查brokerName是否正确
|
| 84
| throw new MQClientException("Invoke Broker
[" + brokerAddr + "] exception", e)
| MQAdminImpl.java
| 同上,增加broker健康检查机制
|
| 85
| throw new MQClientException("The broker
[" + mq.getBrokerName() + "] not exist", null)
| MQAdminImpl.java
| 同上,处理broker下线场景的容错
|
| 86
| throw new MQClientException("Invoke Broker
[" + brokerAddr + "] exception", e)
| MQAdminImpl.java
| 同上,优化远程调用超时设置
|
| 87
| throw new MQClientException("The broker
[" + mq.getBrokerName() + "] not exist", null)
| MQAdminImpl.java
| 同上,从namesrv重新获取broker列表
|
| 88
| throw new MQClientException("Invoke Broker
[" + brokerAddr + "] exception", e)
| MQAdminImpl.java
| 同上,增加重试机制
|
| 89
| throw new MQClientException("The broker
[" + mq.getBrokerName() + "] not exist", null)
| MQAdminImpl.java
| 同上,更新本地broker路由缓存
|
| 90
| MQClientException ex = new MQClientException("send request failed", throwable)
| MQClientAPIImpl.java
| 检查请求参数和序列化格式,处理网络波动导致的发送失败
|
| 91
| MQClientException ex = new MQClientException("unknown reason", throwable)
| MQClientAPIImpl.java
| 增强异常日志,记录详细上下文信息以定位未知原因
|
| 92
| throw new MQClientException("producerGroup can not equal " + MixAll.DEFAULT\_PRODUCER\_GROUP + ", please specify another one.", null)
| DefaultMQProducerImpl.java
| 自定义producerGroup名称,避免使用默认值DEFAULT\_PRODUCER\_GROUP
|
| 93
| throw new MQClientException("executor rejected ", e)
| DefaultMQProducerImpl.java
| 增大生产者线程池容量,或优化消息发送速率
|
| 94
| throw new MQClientException("select message queue threw exception.", e)
| DefaultMQProducerImpl.java
| 修复队列选择算法中的异常(如空指针),增加队列状态检查
|
| 95
| throw new MQClientException("select message queue return null.", null)
| DefaultMQProducerImpl.java
| 确保topic有可用队列,处理broker全部下线场景
|
| 96
| throw new MQClientException("The broker
[" + brokerName + "] not exist", null)
| DefaultMQProducerImpl.java
| 从namesrv刷新broker列表,确认broker是否已下线
|
| 97
| throw new MQClientException("unknown exception", e)
| DefaultMQProducerImpl.java
| 捕获并处理未知异常,记录详细日志以便排查
|
| 98
| throw new MQClientException("message's topic not equal mq's topic", null)
| DefaultMQProducerImpl.java
| 确保消息topic与目标队列topic一致,修复路由逻辑错误
|
| 99
| throw new MQClientException("Topic of the message does not match its target message queue", null)
| DefaultMQProducerImpl.java
| 同上,增加消息与队列topic一致性校验
|
| 100
| throw new MQClientException("unknown exception", e)
| DefaultMQProducerImpl.java
| 同上,增强异常监控告警
|
| 101
| throw new MQClientException("unknown exception", e)
| DefaultMQProducerImpl.java
| 同上,优化异常处理逻辑
|
| 102
| throw new MQClientException("select message queue threw exception.", e)
| DefaultMQProducerImpl.java
| 同上,修复队列选择逻辑中的异常
|
| 103
| throw new MQClientException("select message queue return null.", null)
| DefaultMQProducerImpl.java
| 同上,增加队列自动创建机制(如配置允许自动创建)
|
| 104
| throw new MQClientException("unknown exception", e)
| DefaultMQProducerImpl.java
| 同上,升级客户端版本修复已知bug
|
| 105
| throw new MQClientException("unknown exception", e)
| DefaultMQProducerImpl.java
| 同上,增加分布式追踪定位问题
|
| 106
| throw new MQClientException("tranExecutor is null", null)
| DefaultMQProducerImpl.java
| 初始化事务消息生产者时指定tranExecutor,确保不为空
|
| 107
| throw new MQClientException("send message Exception", e)
| DefaultMQProducerImpl.java
| 综合检查消息发送各环节,处理序列化、网络等异常
|
| 108
| throw new MQClientException("send request message to <" + msg.getTopic() + "> fail", requestResponseFuture.getCause());
| DefaultMQProducerImpl.java
| 检查请求消息格式,确保broker支持该类型请求
|
| 109
| throw new MQClientException("subscribe exception", e)
| DefaultLitePullConsumerImpl.java
| 修复订阅逻辑中的异常(如过滤表达式错误),增加重试
|
| 110
| throw new MQClientException("subscribe exception", e)
| DefaultLitePullConsumerImpl.java
| 同上,检查topic是否存在
|
| 111
| throw new MQClientException("subscribe exception", e)
| DefaultLitePullConsumerImpl.java
| 同上,处理并发订阅冲突
|
| 112
| throw new MQClientException("Fetch consume offset from broker exception", null)
| DefaultLitePullConsumerImpl.java
| 检查offset存储配置,修复从broker获取offset的逻辑
|
| 113
| throw new MQClientException("mq is null", null)
| DefaultLitePullConsumerImpl.java
| 确保MessageQueue不为空,增加参数校验
|
| 114
| throw new MQClientException("offset < 0", null)
| DefaultLitePullConsumerImpl.java
| 确保设置的offset为非负值,增加边界校验
|
| 115
| throw new MQClientException("maxNums <= 0", null)
| DefaultLitePullConsumerImpl.java
| 设置maxNums为正数(如1
-32),符合拉取数量限制
|
| 116
| throw new MQClientException("Topic or listener is null", null)
| DefaultLitePullConsumerImpl.java
| 确保订阅时topic和listener均不为空,增加非空校验
|
| 117
| throw new MQClientException("The topic
[" + topic + "] not exist", null)
| DefaultMQPushConsumerImpl.java
| 先创建topic再订阅,或配置broker自动创建topic
|
| 118
| throw new MQClientException("The broker
[" + desBrokerName + "] not exist", null)
| DefaultMQPushConsumerImpl.java
| 从namesrv更新broker列表,确认目标broker是否在线
|
| 119
| throw new MQClientException("subscription exception", e)
| DefaultMQPushConsumerImpl.java
| 修复订阅逻辑异常,如过滤表达式解析错误
|
| 120
| throw new MQClientException("subscription exception", e)
| DefaultMQPushConsumerImpl.java
| 同上,处理并发订阅冲突
|
| 121
| throw new MQClientException("subscription exception", e)
| DefaultMQPushConsumerImpl.java
| 同上,检查订阅权限
|
| 122
| throw new MQClientException("subscription exception", e)
| DefaultMQPushConsumerImpl.java
| 同上,增加重试机制
|
| 123
| throw new MQClientException("mq is null", null)
| DefaultMQPullConsumerImpl.java
| 确保MessageQueue参数不为空,增加校验
|
| 124
| throw new MQClientException("parse subscription error", e)
| DefaultMQPullConsumerImpl.java
| 修复订阅表达式解析逻辑,支持正确的语法格式
|
| 125
| throw new MQClientException("mq is null", null)
| DefaultMQPullConsumerImpl.java
| 同上,检查参数传递是否正确
|
| 126
| throw new MQClientException("parse subscription error", e)
| DefaultMQPullConsumerImpl.java
| 同上,增加表达式语法校验
|
| 127
| throw new MQClientException("mq is null", null)
| DefaultMQPullConsumerImpl.java
| 同上,完善参数校验逻辑
|
| 128
| throw new MQClientException("offset < 0", null)
| DefaultMQPullConsumerImpl.java
| 确保offset为非负值,处理负数输入场景
|
| 129
| throw new MQClientException("maxNums <= 0", null)
| DefaultMQPullConsumerImpl.java
| 设置maxNums为正数,符合拉取数量限制
|
| 130
| throw new MQClientException("maxSizeInBytes <= 0", null)
| DefaultMQPullConsumerImpl.java
| 确保maxSizeInBytes为正数,合理设置拉取大小
|
| 131
| throw new MQClientException("pullCallback is null", null)
| DefaultMQPullConsumerImpl.java
| 异步拉取时指定非空的pullCallback,确保回调逻辑存在
|
| 132
| throw new MQClientException("pullAsync unknow exception", e)
| DefaultMQPullConsumerImpl.java
| 捕获并处理异步拉取的未知异常,记录详细日志
|
| 133
| throw new MQClientException("subscription exception", e)
| DefaultMQPullConsumerImpl.java
| 修复订阅逻辑异常,增加重试机制
|
| 134
| throw new MQClientException("The broker[" + mq.getBrokerName() + ", ")
| PullAPIWrapper.java
| 检查broker名称和地址是否正确,确保网络可达
|
| 135
| throw new MQClientException("The broker
[" + mq.getBrokerName() + "] not exist", null)
| PullAPIWrapper.java
| 从namesrv刷新broker列表,处理broker下线场景
|
| 136
| throw new MQClientException("The broker
[" + mq.getBrokerName() + "] not exist", null)
| PullAPIWrapper.java
| 同上,更新本地路由缓存
|
| 137
| throw new MQClientException("Failed to initiate the MessageBatch", e)
| DefaultMQProducer.java
| 检查批量消息格式,确保消息体大小和数量符合限制
|
| 138
| throw new MQClientException("TransactionListener is null", null)
| TransactionMQProducer.java
| 初始化事务生产者时设置非空的TransactionListener
|
| 139
| throw new RuntimeException("Invalid ConsumeFromWhere Value", null)
| DefaultLitePullConsumer.java
| 设置有效的ConsumeFromWhere值(如CONSUME\_FROM\_FIRST\_OFFSET)
|
| 140
| throw new MQClientException("The broker
[" + mq.getBrokerName() + "] not exist", null)
| RemoteBrokerOffsetStore.java
| 确认broker存在,从namesrv获取最新broker列表
|
| 141
| throw new MQClientException("The broker
[" + mq.getBrokerName() + "] not exist", null)
| RemoteBrokerOffsetStore.java
| 同上,处理offset存储时的broker下线场景
|
| 142
| AclException aclException = new AclException("CAL\_SIGNATURE\_FAILED",10015);
| PermissionTest.java
| 测试中模拟签名计算失败场景,验证ACL容错逻辑
|
| 143
| AclException aclExceptionWithMessage = new AclException("CAL\_SIGNATURE\_FAILED",10015,"CAL\_SIGNATURE\_FAILED Exception");
| PermissionTest.java
| 同上,测试异常消息传递是否正确
|
| 144
| throw new RuntimeException("incompatible exception.", e)
| AclClientRPCHookTest.java
| 测试中处理不兼容的异常类型,确保测试稳定性
|
| 145
| throw new AclException("CAL\_SIGNATURE\_FAILED", CAL\_SIGNATURE\_FAILED, message, e)
| AclSigner.java
| 检查签名计算参数(如AccessKey、SecretKey),确保格式正确
|
| 146
| throw new AclException("CAL\_SIGNATURE\_FAILED", CAL\_SIGNATURE\_FAILED, message, e)
| AclSigner.java
| 同上,处理签名计算时的IO异常
|
| 147
| throw new AclException("CAL\_SIGNATURE\_FAILED", CAL\_SIGNATURE\_FAILED, message, e)
| AclSigner.java
| 同上,修复编码转换错误
|
| 148
| throw new RuntimeException("Incompatible exception.", e)
| AclUtils.java
| 处理异常转换时的不兼容类型,增加类型判断逻辑
|
| 149
| throw new RuntimeException("Initialize plugin's class
: " + pluginClass + " not found!", e)
| MessageStoreFactory.java
| 确认插件类路径正确,确保插件JAR包已引入classpath
|
| 150
| throw new MQClientException("mq is null", null)
| DefaultMQPullConsumerImpl.java
| 参数校验确保MessageQueue不为空,修复空指针场景
|
| 151
| throw new MQClientException("offset < 0", null)
| DefaultMQPullConsumerImpl.java
| 边界校验确保offset非负,处理异常输入
|
| 152
| throw new MQClientException("maxNums <= 0", null)
| DefaultMQPullConsumerImpl.java
| 确保拉取数量为正数,符合业务需求
|