TubeMQ错误信息介绍

​ TubeMQ采用的是 错误码(errCode) + 错误详情(errMsg) 相结合的方式返回具体的操作结果。首先根据错误码确定是哪类问题,然后根据错误详情来确定具体的错误原因。表格汇总了所有的错误码以及运行中大家可能遇到的错误详情的相关对照。

错误码

错误类别错误码错误标记含义备注
成功操作200SUCCESS操作成功
成功操作201NOT_READY请求已接纳,但服务器还没有ready,服务还没有运行保留错误,暂未使用
临时处理冲突301MOVED数据临时切换导致操作不成功,需要重新发起操作请求
客户端错误400BAD_REQUEST客户端侧异常,包括参数异常,状态异常等需要结合错误信息确定问题原因后重试
客户端错误401UNAUTHORIZED未授权的操作,确认客户端有权限进行该项操作需要检查配置,同时与管理员确认原因
客户端错误403FORBIDDEN操作的Topic不存在,或者已删除需要与管理员确认具体问题原因
客户端错误404NOT_FOUND消费offset已经达到最大位置
客户端错误405ALL_PARTITION_FROZEN所有可用分区都被冻结可用分区已被客户端冻结,需要解冻处理或者等待一段时间再重试
客户端错误406NO_PARTITION_ASSIGNED当前客户端没有被分配分区进行消费客户端个数超过分区个数,或者服务器还没有进行负载均衡操作,需要等待并重试
客户端错误407ALL_PARTITION_WAITING当前可用分区都达到了最大消费位置需要等待再重试
客户端错误408ALL_PARTITION_INUSE当前可用分区都被业务使用未释放需要等待业务逻辑调用confirm接口释放分区,需要等待并再重试
客户端错误410PARTITION_OCCUPIED分区消费冲突,忽略即可内部注册的临时状态,业务接口一般不会遇到该报错
客户端错误411HB_NO_NODE节点超时,需要降低操作等待一阵后再重试处理一般出现在客户端在服务器侧心跳超时,这个时候需要降低操作频率,等待一阵待lib注册成功后再重试处理
客户端错误412DUPLICATE_PARTITION分区消费冲突,忽略即可一般是由于节点超时引起,重试即可
客户端错误415CERTIFICATE_FAILURE认证失败,包括用户身份认证,以及操作授权不通过一般是用户名密码不一致,或者操作的范围未授权,需要结合错误详情进行排查
客户端错误419SERVER_RECEIVE_OVERFLOW服务器接收overflow,需要重试处理如果长期的overflow,需要联系管理员扩容存储实例,或者扩大内存缓存大小
客户端错误450CONSUME_GROUP_FORBIDDEN消费组被纳入黑名单联系管理员处理
客户端错误452SERVER_CONSUME_SPEED_LIMIT消费被限速联系管理员处理,解除限速
客户端错误455CONSUME_CONTENT_FORBIDDEN消费内容拒绝,包括消费组禁止过滤消费,过滤的tid集合与允许的tid集合不一致等对齐过滤消费的设置确认没有问题后,再联系管理员处理
服务器侧异常500INTERNAL_SERVER_ERROR内部服务器错误需要结合错误信息,联系管理员确定问题原因后重试
服务器侧异常503SERVICE_UNAVILABLE业务临时禁读或者禁写继续重试处理,如果持续的出现该类错误,需要联系管理员处理
服务器侧异常510INTERNAL_SERVER_ERROR_MSGSET_NULL读取不到消息集合继续重试处理,如果持续的出现该类错误,需要联系管理员处理

常见错误信息

记录号错误信息含义备注
1Status error: producer has been shutdown!客户端已停止
2Illegal parameter: blank topic!参数错误: 空的topic
3Illegal parameter: topicSet is null or empty!参数错误: 空的topic集合
4Illegal parameter: found blank topic value in topicSet : xxxxx参数错误: topic集合里含有空的topic
5Send message failed消息发送失败
6Illegal parameter: null message package!空消息包
7Illegal parameter: null data in message package!空消息内容
8Illegal parameter: over max message length for the total size of message data and attribute, allowed size is XX,message’s real size is YY消息长度超过指定长
9Topic XX not publish, please publish first!topic没有发布
10Topic XX not publish, make sure the topic exist or acceptPublish and try later!topic没有发布,或者发布的topic不存在
11Null partition for topic: XX , please try later!对应topic暂时没有分配到分区
12No available partition for topic: XX没有有效分区
13Current delayed messages over max allowed count, allowed is xxxxx, current count is yyyy当前滞留未响应的消息超过了允许值稍后再发,该值缺省40W,通过TubeClientConfig.setSessionMaxAllowedDelayedMsgCount()控制
14The brokers of topic are all forbidden!对应Topic的Broker均因为网络质量问题被屏蔽稍后再发,待屏蔽策略解除
15Not found available partition for topic: XX没有找到有效分区有分区分配但由于网络质量问题分配的分区处于屏蔽中,
16Channel is not writable, please try later!管道不可写缺省10M,通过TubeClientConfig.setNettyWriteBufferHighWaterMark调大写buffer
17Put message failed from xxxxx, server receive message overflow!存储消息时对应服务器过载重试消息发送,若持续的出现该类报错,则需要联系管理员进行扩容处理
18Write StoreService temporary unavailable!对应服务器临时写无效重试消息发送,如果连续写无效,联系管理员,调整分区在broker上的分布,同时处理异常的broker
19Topic xxx not existed, please check your configure生产的Topic不存在有可能是生产过程中topic被管理员删除,联系管理员处理
20Partition[xxx:yyy] has been closed生产的Topic已删除有可能是生产过程中topic被管理员软删除,联系管理员处理
21Partition xxx-yyy not existed, please check your configure生产的Topic分区不存在异常情况,分区只会增加不会减少,联系管理员处理
22Checksum failure xxx of yyyy not equal to the data’s checksum生产的数据checksum计算结果不一致异常情况,携带的内容计算的checksum计算错误,或者传输途中被篡改
23Put message failed from xxxxx存储消息失败重发,同时将错误信息发给管理员确认问题原因
24Put message failed2 from存储消息失败2重发,同时将错误信息发给管理员确认问题原因
25Null brokers to select sent, please try later!当前无可用的Broker进行消息发送等待一阵时间再重试,如果一直如此联系管理员,该情况有可能是broker异常,或者未完成消息过多引起,需要查看Broker状态后确定。
26Publish topic failure, make sure the topic xxx exist or acceptPublish and try later!publish topic失败,确认该topic存在或者处于可写状态调用void publish(final String topic)接口时如果对应topic还不在本地,或者topic不存在时将报该错误,等待1分钟左右,或者使用Set publish(Set topicSet)接口完成topic的发布。
27Register producer failure, response is null!注册producer失败需要联系管理员处理
28Register producer failure, error is XXX注册producer失败,错误原因是 XXX根据错误原因进行问题核对,如果仍错误,联系管理员处理。
29Register producer exception, error is XXX注册producer发生异常,错误原因是 XXX根据错误原因进行问题核对,如果仍错误,联系管理员处理。
30Status error: please call start function first!需要首先调用start函数接口使用问题,Producer不是从sessionFactory创建生成,调用sessionfactory里的createProducer()函数进行创建后再使用
31Status error: producer service has been shutdown!producer服务已经停止producer已经停止服务,停止业务函数调用
32Listener is null for topic XXX针对topic XXX传递的回调对象Listener为null输入参数不合法,需要检查业务代码
33Please complete topic’s Subscribe call first!请先完成对应topic的subscribe()函数调用接口使用问题,需要先完成topic的订阅操作再进行消费消费处理
34ConfirmContext is null !空ConfirmContext内容,非法上下文需要业务确认接口调用逻辑
35ConfirmContext format error: value must be aaaa:bbbb:cccc:ddddd !ConfirmContext内容的格式不正确需要业务确认接口调用逻辑
36ConfirmContext’s format error: item (XXX) is null !ConfirmContext内容有异常,存在Blank内容需要业务确认接口调用逻辑
37The confirmContext’s value invalid!无效ConfirmContext内容有可能是不存在的上下文,或者因为负载均衡对应分区已释放上下文已经过期
38Confirm XXX ‘s offset failed!confirm offset失败需要根据日志详情确认问题原因,如果持续的出现该问题,联系管理员处理。
39Not found the partition by confirmContext:XXX确认的partition未找到服务端负载均衡对应分区已释放
40Illegal parameter: messageSessionFactory or consumerConfig is null!messageSessionFactory或者 consumerConfig为null检查对象初始化逻辑,确认配置的准确性
41Get consumer id failed!consumer的唯一识别ID生成失败持续失败时,将异常堆栈信息给到系统管理员处理
42Parameter error: topic is Blank!输入的topic为BlankBlank包括参数为null,输入的参数不为空,但内容长度为0,或者内容为isWhitespace字符
43Parameter error: Over max allowed filter count, allowed count is XXX过滤项个数超过系统允许的最大量参数异常,调整个数
44Parameter error: blank filter value in parameter filterConds!filterConds里包含了为Blank的内容项参数异常,调整内容项值
45Parameter error: over max allowed filter length, allowed length is XXX过滤项长度超标
46Parameter error: null messageListenermessageListener参数为null
47Topic=XXX has been subscribedTopic XXX被重复订阅
48Not subscribe any topic, please subscribe first!未订阅任何topic即启动消费接口调用逻辑异常,检查业务代码
49Duplicated completeSubscribe call!重复调用completeSubscribe()函数接口调用逻辑异常,检查业务代码
50Subscribe has finished!重复调用completeSubscribe()函数
51Parameter error: sessionKey is Blank!参数不合规,sessionKey值不允许为Blank内容
52Parameter error: sourceCount must over zero!参数不合规,sourceCount值必须大于0
53Parameter error: partOffsetMap’s key XXX format error: value must be aaaa:bbbb:cccc !参数不合规,partOffsetMap的key值内容必须是aaaa:bbbb:cccc格式
54Parameter error: not included in subscribed topic list: partOffsetMap’s key is XXX , subscribed topics are YYY参数不合规,partOffsetMap里指定的topic在订阅列表里并不存在
55Parameter error: illegal format error of XXX : value must not include ‘,’ char!”参数不合规,key值里面不能包含”,”字符
56Parameter error: Offset must over or equal zero of partOffsetMap key XXX, value is YYY参数不合规,offset值必须是大于等于0
57Duplicated completeSubscribe call!重复调用completeSubscribe()函数
58Register to master failed! ConsumeGroup forbidden, XXX注册Master失败,消费组被禁止服务端主动禁止行为,联系系统管理员处理
59Register to master failed! Restricted consume content, XXX注册Master失败,消费内容受限过滤消费的tid集合不在申请的集合范围内
60Register to master failed! please check and retry later.注册Master失败,请重试这种情况需要查看客户端日志,确认问题原因,在核实没有异常日志,同时master地址填写正确,联系系统管理员处理。
61Get message error, reason is XXX因为XXX原因拉取消息失败确定下问题原因,将相关错误信息提交给相关的业务负责人处理,需要根据具体错误信息对齐原因
62Get message null获取到的消息为null重试
63Get message failed,topic=XXX,partition=YYY, throw info is ZZZ拉取消息失败将相关错误信息提交给相关的业务负责人处理,需要根据具体错误信息对齐原因
64Status error: consumer has been shutdown消费者已调用shutdown,不应该继续调用其它函数进行业务处理
65All partition in waiting, retry later!所有分区都在等待,请稍候该错误信息可以不做打印,遇到该情况时拉取县城sleep 200 ~ 400ms
66The request offset reached maxOffset请求的分区已经消费到最新位置可以通过ConsumerConfig.setMsgNotFoundWaitPeriodMs()设置该情况时分区停止拉取的时间段来等待最新消息的到来
67No partition info in local, please wait and try later本地没有分区信息,需要等待并重试可能情况包括服务器还没有进行rebalance,或者客户端个数大于了分区个数
68No idle partition to consume, please wait and try later没有空闲分区进行消费,需要等待并重试可能情况业务占用了分区还没有释放,需要等待业务confirm消费后才能获取到空闲分区
69All partition are frozen to consume, please unfreeze partition(s) or wait所有分区都被冻结可能情况业务调用freeze接口冻结可分区消费,需要业务调用unfreeze接口进行解冻处理