提交 8b88d1ad 编写于 作者: H Hongze Cheng

fix multiple coredump

上级 81ebcd8b
...@@ -23,9 +23,9 @@ int vnodeProcessWMsgs(SVnode *pVnode, SArray *pMsgs) { ...@@ -23,9 +23,9 @@ int vnodeProcessWMsgs(SVnode *pVnode, SArray *pMsgs) {
pMsg = *(SRpcMsg **)taosArrayGet(pMsgs, i); pMsg = *(SRpcMsg **)taosArrayGet(pMsgs, i);
// ser request version // ser request version
void **pBuf = &(pMsg->pCont); void * pBuf = pMsg->pCont;
uint64_t ver = pVnode->state.processed++; uint64_t ver = pVnode->state.processed++;
taosEncodeFixedU64(pBuf, ver); taosEncodeFixedU64(&pBuf, ver);
if (walWrite(pVnode->pWal, ver, pMsg->pCont, pMsg->contLen) < 0) { if (walWrite(pVnode->pWal, ver, pMsg->pCont, pMsg->contLen) < 0) {
// TODO: handle error // TODO: handle error
...@@ -49,7 +49,7 @@ int vnodeProcessWMsgs(SVnode *pVnode, SArray *pMsgs) { ...@@ -49,7 +49,7 @@ int vnodeProcessWMsgs(SVnode *pVnode, SArray *pMsgs) {
// TODO: copy here need to be extended // TODO: copy here need to be extended
memcpy(ptr, pMsg->pCont, pMsg->contLen); memcpy(ptr, pMsg->pCont, pMsg->contLen);
// // todo: change the interface here // todo: change the interface here
uint64_t ver; uint64_t ver;
taosDecodeFixedU64(pMsg->pCont, &ver); taosDecodeFixedU64(pMsg->pCont, &ver);
if (tqPushMsg(pVnode->pTq, ptr, ver) < 0) { if (tqPushMsg(pVnode->pTq, ptr, ver) < 0) {
......
...@@ -79,12 +79,13 @@ TEST(vnodeApiTest, vnodeOpen_vnodeClose_test) { ...@@ -79,12 +79,13 @@ TEST(vnodeApiTest, vnodeOpen_vnodeClose_test) {
int zs = vnodeBuildReq(NULL, &vCreateSTbReq, TSDB_MSG_TYPE_CREATE_TABLE); int zs = vnodeBuildReq(NULL, &vCreateSTbReq, TSDB_MSG_TYPE_CREATE_TABLE);
SRpcMsg *pMsg = (SRpcMsg *)malloc(sizeof(SRpcMsg) + zs); SRpcMsg *pMsg = (SRpcMsg *)malloc(sizeof(SRpcMsg) + zs);
pMsg->msgType = TSDB_MSG_TYPE_CREATE_TABLE;
pMsg->contLen = zs; pMsg->contLen = zs;
pMsg->pCont = POINTER_SHIFT(pMsg, sizeof(SRpcMsg)); pMsg->pCont = POINTER_SHIFT(pMsg, sizeof(SRpcMsg));
void **pBuf = &(pMsg->pCont); void *pBuf = pMsg->pCont;
vnodeBuildReq(pBuf, &vCreateSTbReq, TSDB_MSG_TYPE_CREATE_TABLE); vnodeBuildReq(&pBuf, &vCreateSTbReq, TSDB_MSG_TYPE_CREATE_TABLE);
META_CLEAR_TB_CFG(&vCreateSTbReq); META_CLEAR_TB_CFG(&vCreateSTbReq);
taosArrayPush(pMsgs, &(pMsg)); taosArrayPush(pMsgs, &(pMsg));
...@@ -92,7 +93,7 @@ TEST(vnodeApiTest, vnodeOpen_vnodeClose_test) { ...@@ -92,7 +93,7 @@ TEST(vnodeApiTest, vnodeOpen_vnodeClose_test) {
vnodeProcessWMsgs(pVnode, pMsgs); vnodeProcessWMsgs(pVnode, pMsgs);
free(pMsg); free(pMsg);
taosArrayClear(pMsgs); taosArrayDestroy(pMsgs);
tdFreeSchema(pSchema); tdFreeSchema(pSchema);
tdFreeSchema(pTagSchema); tdFreeSchema(pTagSchema);
} }
...@@ -111,12 +112,14 @@ TEST(vnodeApiTest, vnodeOpen_vnodeClose_test) { ...@@ -111,12 +112,14 @@ TEST(vnodeApiTest, vnodeOpen_vnodeClose_test) {
int tz = vnodeBuildReq(NULL, &vCreateCTbReq, TSDB_MSG_TYPE_CREATE_TABLE); int tz = vnodeBuildReq(NULL, &vCreateCTbReq, TSDB_MSG_TYPE_CREATE_TABLE);
SRpcMsg *pMsg = (SRpcMsg *)malloc(sizeof(SRpcMsg) + tz); SRpcMsg *pMsg = (SRpcMsg *)malloc(sizeof(SRpcMsg) + tz);
pMsg->msgType = TSDB_MSG_TYPE_CREATE_TABLE;
pMsg->contLen = tz; pMsg->contLen = tz;
pMsg->pCont = POINTER_SHIFT(pMsg, sizeof(*pMsg)); pMsg->pCont = POINTER_SHIFT(pMsg, sizeof(*pMsg));
void **pBuf = &(pMsg->pCont); void *pBuf = pMsg->pCont;
vnodeBuildReq(pBuf, &vCreateCTbReq, TSDB_MSG_TYPE_CREATE_TABLE); vnodeBuildReq(&pBuf, &vCreateCTbReq, TSDB_MSG_TYPE_CREATE_TABLE);
META_CLEAR_TB_CFG(&vCreateCTbReq); META_CLEAR_TB_CFG(&vCreateCTbReq);
free(pTag);
taosArrayPush(pMsgs, &(pMsg)); taosArrayPush(pMsgs, &(pMsg));
} }
...@@ -128,7 +131,7 @@ TEST(vnodeApiTest, vnodeOpen_vnodeClose_test) { ...@@ -128,7 +131,7 @@ TEST(vnodeApiTest, vnodeOpen_vnodeClose_test) {
free(pMsg); free(pMsg);
} }
taosArrayClear(pMsgs); taosArrayDestroy(pMsgs);
} }
} }
...@@ -138,7 +141,7 @@ TEST(vnodeApiTest, vnodeOpen_vnodeClose_test) { ...@@ -138,7 +141,7 @@ TEST(vnodeApiTest, vnodeOpen_vnodeClose_test) {
vnodeClear(); vnodeClear();
} }
TEST(vnodeApiTest, vnode_process_create_table) { TEST(vnodeApiTest, DISABLED_vnode_process_create_table) {
STSchema * pSchema = NULL; STSchema * pSchema = NULL;
STSchema * pTagSchema = NULL; STSchema * pTagSchema = NULL;
char stname[15]; char stname[15];
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册