查询订阅主题订阅失败问题

【TDengine 使用环境】生产环境

【TDengine 版本】3.3.6.13

【操作系统以及版本】openEuler22.03

【部署方式】容器

【集群节点数】6

【集群副本数】3

【描述业务影响】数据订阅主题创建后消费者会自动销毁,无法拉取订阅数据

【问题复现路径/shan】创建主题然后创建消费者

【遇到的问题:问题现象及影响】

主题创建语句:CREATE TOPIC IF NOT EXISTS hbny2_aalm_tbool202516 as select tbname,ts,v,tn,ta from hbny2.tbool where ta = ‘1’;
订阅使用文档中websocket连接语句
【报错完整截图】

13:39:51秒订阅成功

image

image

11/07 13:40:16.656750 00002218 C TQ ERROR consumer:0x36425cd40b4bf2c innerCommitAll failed, code:Invalid message

11/07 13:43:13.935725 00002218 C TQ INFO consumer:0x36425cd40b4bf2c start to unsubscribe consumer, status:2

@kevinmen @qevolg

我看到第二个截图,说表不存在,请检查表和topic是否正常 select * from information_schema.ins_topics \G;

后面有重建过topic,topc是正常的,重建topic之后表不存在的日志是有部分模块传参错误导致查询语句报错,未出现tq报表不存在

你重建topic之后,系统有没有重新进行consumer创建?

有重新创建消费者,但是成功一段时间后,消费者id挂不上,如图是null

你用的jdbc吗?看看是不是consumer关闭了

日志显示consumer从ready变为drop状态,但是客户端没有执行删除

补充一个从创建主题、消费者、开启订阅到订阅失败的日志。
consumer从ready变为dropped期间,客户端没有进行操作

请问客户端使用哪个连接器及版本,相关日志贴一下

去 mnode 的主节点上执行下 grep “subscribe request from” taosdlog.0 ,然后贴一下

连接器版本taos-jdbcdriver-3.7.3,使用webSocket连接
结合上个恢复的日志,补充下内容。
我们测试环境也是3.3.6.13的集群,区别是测试环境是4节点单副本(生产环境是6节点3副本),测试环境的订阅可以正常运行

taosdlog.0里搜不到完整的‘subscribe request from’

测试环境可以搜到该日志

查阅了历史日志,生产环境最后一个相关日志是5号早上,之后订阅就开始出问题了

刚刚建了一个测试数据库,模拟了一次流程,刚建立订阅时
show consumers如下,consumerid存在但是offset和rows为空

一段时间后show consumers如下,consumerid变为null,consumer自己 drop了

@TDengine_Developer @CrisPei @kevinmen 你好,请问有结论了吗

可以远程吗? 一起看下

好的,小T那边让您加我vx,我来提供远程

需具体排查,如遇相同问题,请重新发帖。