diff --git a/src/system/detail/src/vnodeMeter.c b/src/system/detail/src/vnodeMeter.c index a530aa80fa99f387167fc1eb04c3440cba5e8aa9..ab610b1e005a569cbc26b956c352099e90a4be8e 100644 --- a/src/system/detail/src/vnodeMeter.c +++ b/src/system/detail/src/vnodeMeter.c @@ -786,16 +786,16 @@ void vnodeUpdateMeter(void *param, void *tmrId) { return; } - vnodeClearMeterState(pObj, TSDB_METER_STATE_UPDATING); - if (taosTmrStart(vnodeUpdateMeter, 50, pNew, vnodeTmrCtrl) == NULL) { dError("vid:%d sid:%d id:%s, failed to start update timer", pNew->vnode, pNew->sid, pNew->meterId); + vnodeClearMeterState(pObj, TSDB_METER_STATE_UPDATING); free(pNew->schema); free(pNew); - } else { - dTrace("vid:%d sid:%d meterId:%s, there are data in cache, commit first, update later", - pNew->vnode, pNew->sid, pNew->meterId); + return; } + dTrace("vid:%d sid:%d meterId:%s, there are data in cache, commit first, update later", + pNew->vnode, pNew->sid, pNew->meterId); + vnodeClearMeterState(pObj, TSDB_METER_STATE_UPDATING); return; }