taosdb crash and fail to restart after execute a create stream
Bug Description
To Reproduce Steps to reproduce the behavior:
-
创建一个流 create stream record_stat_stream into record_stat_stream_output as select device_id, _wstart,_wend, count(*) as total from iot_meters where time > "2022-01-01 00:00:00" and time < "2032-01-01 00:00:00" partition by device_id interval(60m) fill(null) ;
-
数据库crash
-
重启失败 4、错误日志如下: ‘’‘ 11/01 09:18:49.429614 00000121 VND vgId:5, commit-cb is excuted, fsm:0x7f5dc02b30c0, index:244476, term:10, msg-index:244476, weak:0, code:0, state:102 leader, type:submit 11/01 09:18:49.429676 00000121 VND vgId:5, commit-cb is excuted, fsm:0x7f5dc02b30c0, index:244477, term:10, msg-index:244477, weak:0, code:0, state:102 leader, type:stream-task-drop 11/01 09:18:49.429784 00000121 VND vgId:5, restore not finish since 0 items in apply queue 11/01 09:18:49.433098 00000120 VND vgId:4, restore not finish since 0 items in apply queue 11/01 09:18:49.439876 00000121 VND vgId:5, restore not finish since 0 items in apply queue 11/01 09:18:49.443208 00000120 VND vgId:4, restore not finish since 0 items in apply queue 11/01 09:18:49.450050 00000121 VND vgId:5, restore not finish since 0 items in apply queue 11/01 09:18:49.453313 00000120 VND vgId:4, restore not finish since 0 items in apply queue 11/01 09:18:49.460224 00000121 VND vgId:5, restore not finish since 0 items in apply queue 11/01 09:18:49.463433 00000120 VND vgId:4, restore not finish since 0 items in apply queue 11/01 09:18:49.470330 00000121 VND vgId:5, restore not finish since 0 items in apply queue 11/01 09:18:49.473544 00000120 VND vgId:4, restore not finish since 0 items in apply queue 11/01 09:18:49.480670 00000121 VND vgId:5, restore not finish since 0 items in apply queue 11/01 09:18:49.482617 00000110 TQ expand stream task on vg 4, task id 1394271982, child id 0 11/01 09:18:49.483660 00000120 VND vgId:4, restore not finish since 0 items in apply queue 11/01 09:18:49.486061 00000110 TQ expand stream task on vg 4, task id 1394271984, child id 0 11/01 09:18:49.490773 00000121 VND vgId:5, restore not finish since 0 items in apply queue 11/01 09:18:49.493787 00000120 VND vgId:4, restore not finish since 0 items in apply queue 11/01 09:18:49.500882 00000121 VND vgId:5, restore not finish since 0 items in apply queue 11/01 09:18:49.503901 00000120 VND vgId:4, restore not finish since 0 items in apply queue 11/01 09:18:49.511106 00000121 VND vgId:5, restore not finish since 0 items in apply queue 11/01 09:18:49.514007 00000120 VND vgId:4, restore not finish since 0 items in apply queue 11/01 09:18:49.521223 00000121 VND vgId:5, restore not finish since 0 items in apply queue 11/01 09:18:49.524128 00000120 VND vgId:4, restore not finish since 0 items in apply queue 11/01 09:18:49.524829 00000106 TQ expand stream task on vg 5, task id 1394271983, child id 1 11/01 09:18:49.531345 00000121 VND vgId:5, restore not finish since 0 items in apply queue 11/01 09:18:49.534237 00000120 VND vgId:4, restore not finish since 0 items in apply queue 11/01 09:18:49.538660 00000110 TQ expand stream task on vg 4, task id 1394272241, child id 0 double free or corruption (out) Aborted (core dumped) ’‘’
Expected Behavior A clear and concise description of what you expected to happen.
Screenshots If applicable, add screenshots to help explain your problem.
Environment (please complete the following information):
- OS: [e.g. CentOS 7.0]
- Memory, CPU, current Disk Space
- TDengine Version [e.g. 1.6.1.7]
Additional Context Add any other context about the problem here.
创建流的语句中加入time范围引起的,线上库起来不了,盼复
` static void vnodeRestoreFinish(const SSyncFSM *pFsm) { SVnode *pVnode = pFsm->data;
do { int32_t itemSize = tmsgGetQueueSize(&pVnode->msgCb, pVnode->config.vgId, APPLY_QUEUE); if (itemSize == 0) { vInfo("vgId:%d, apply queue is empty, restore finish", pVnode->config.vgId); break; } else { vInfo("vgId:%d, restore not finish since %d items in apply queue", pVnode->config.vgId, itemSize); taosMsleep(10); } } while (true);
walApplyVer(pVnode->pWal, pVnode->state.applied); ` 代码提示处理有异常,当restore not finish since 信息出现时, itemsSize应当不为0,但日志输出为0.
` static void vnodeRestoreFinish(const SSyncFSM *pFsm) { SVnode *pVnode = pFsm->data;
do { int32_t itemSize = tmsgGetQueueSize(&pVnode->msgCb, pVnode->config.vgId, APPLY_QUEUE); if (itemSize == 0) { vInfo("vgId:%d, apply queue is empty, restore finish", pVnode->config.vgId); break; } else { vInfo("vgId:%d, restore not finish since %d items in apply queue", pVnode->config.vgId, itemSize); taosMsleep(10); } } while (true);
walApplyVer(pVnode->pWal, pVnode->state.applied); ` 代码提示处理有异常,当restore not finish since 信息出现时, itemsSize应当不为0,但日志输出为0.
您好,可以加我微信 1562223354,我来跟进咱们的问题
微信号可能不全,没加上。我的是18610116933,方便的话加一下我
3.0.1.6 已经修复该问题,做关闭处理