TDengine icon indicating copy to clipboard operation
TDengine copied to clipboard

taosdb crash and fail to restart after execute a create stream

Open ascanzen opened this issue 3 years ago • 4 comments

Bug Description

To Reproduce Steps to reproduce the behavior:

  1. 创建一个流 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) ;

  2. 数据库crash

  3. 重启失败 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.

ascanzen avatar Nov 02 '22 01:11 ascanzen

创建流的语句中加入time范围引起的,线上库起来不了,盼复

ascanzen avatar Nov 02 '22 02:11 ascanzen

` 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.

ascanzen avatar Nov 02 '22 02:11 ascanzen

` 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,我来跟进咱们的问题

yu285 avatar Nov 03 '22 03:11 yu285

微信号可能不全,没加上。我的是18610116933,方便的话加一下我

ascanzen avatar Nov 03 '22 03:11 ascanzen

3.0.1.6 已经修复该问题,做关闭处理

yu285 avatar Nov 28 '22 06:11 yu285