diff --git a/src/system/detail/src/vnodeMeter.c b/src/system/detail/src/vnodeMeter.c index df70d127219d36c049ea3abb2e2e84d8d38a7647..a530aa80fa99f387167fc1eb04c3440cba5e8aa9 100644 --- a/src/system/detail/src/vnodeMeter.c +++ b/src/system/detail/src/vnodeMeter.c @@ -786,17 +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); } - - vnodeClearMeterState(pObj, TSDB_METER_STATE_UPDATING); return; }