trans test
This commit is contained in:
parent
8977e08fb1
commit
44eb20628e
|
@ -474,6 +474,7 @@ STrans *mndTransCreate(SMnode *pMnode, ETrnPolicy policy, ETrnType type, const S
|
||||||
pTrans->stage = TRN_STAGE_PREPARE;
|
pTrans->stage = TRN_STAGE_PREPARE;
|
||||||
pTrans->policy = policy;
|
pTrans->policy = policy;
|
||||||
pTrans->transType = type;
|
pTrans->transType = type;
|
||||||
|
pTrans->createdTime = taosGetTimestampMs();
|
||||||
pTrans->rpcHandle = pReq->handle;
|
pTrans->rpcHandle = pReq->handle;
|
||||||
pTrans->rpcAHandle = pReq->ahandle;
|
pTrans->rpcAHandle = pReq->ahandle;
|
||||||
pTrans->redoLogs = taosArrayInit(MND_TRANS_ARRAY_SIZE, sizeof(void *));
|
pTrans->redoLogs = taosArrayInit(MND_TRANS_ARRAY_SIZE, sizeof(void *));
|
||||||
|
@ -1343,11 +1344,7 @@ static int32_t mndRetrieveTrans(SMnodeMsg *pReq, SShowObj *pShow, char *data, in
|
||||||
|
|
||||||
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
||||||
char *name = mnGetDbStr(pTrans->dbname);
|
char *name = mnGetDbStr(pTrans->dbname);
|
||||||
if (name != NULL) {
|
|
||||||
STR_WITH_MAXSIZE_TO_VARSTR(pWrite, name, pShow->bytes[cols]);
|
STR_WITH_MAXSIZE_TO_VARSTR(pWrite, name, pShow->bytes[cols]);
|
||||||
} else {
|
|
||||||
STR_TO_VARSTR(pWrite, "-");
|
|
||||||
}
|
|
||||||
cols++;
|
cols++;
|
||||||
|
|
||||||
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
pWrite = data + pShow->offset[cols] * rows + pShow->bytes[cols] * numOfRows;
|
||||||
|
|
|
@ -61,6 +61,22 @@ class MndTestTrans : public ::testing::Test {
|
||||||
Testbase MndTestTrans::test;
|
Testbase MndTestTrans::test;
|
||||||
TestServer MndTestTrans::server2;
|
TestServer MndTestTrans::server2;
|
||||||
|
|
||||||
|
TEST_F(MndTestTrans, 00_Create_User_Crash) {
|
||||||
|
test.SendShowMetaReq(TSDB_MGMT_TABLE_TRANS, "");
|
||||||
|
CHECK_META("show trans", 7);
|
||||||
|
|
||||||
|
CHECK_SCHEMA(0, TSDB_DATA_TYPE_INT, 4, "id");
|
||||||
|
CHECK_SCHEMA(1, TSDB_DATA_TYPE_TIMESTAMP, 8, "create_time");
|
||||||
|
CHECK_SCHEMA(2, TSDB_DATA_TYPE_BINARY, TSDB_TRANS_STAGE_LEN + VARSTR_HEADER_SIZE, "stage");
|
||||||
|
CHECK_SCHEMA(3, TSDB_DATA_TYPE_BINARY, TSDB_DB_NAME_LEN - 1 + VARSTR_HEADER_SIZE, "db");
|
||||||
|
CHECK_SCHEMA(4, TSDB_DATA_TYPE_BINARY, TSDB_TRANS_TYPE_LEN + VARSTR_HEADER_SIZE, "type");
|
||||||
|
CHECK_SCHEMA(5, TSDB_DATA_TYPE_TIMESTAMP, 8, "last_exec_time");
|
||||||
|
CHECK_SCHEMA(6, TSDB_DATA_TYPE_BINARY, TSDB_TRANS_ERROR_LEN - 1 + VARSTR_HEADER_SIZE, "last_error");
|
||||||
|
|
||||||
|
test.SendShowRetrieveReq();
|
||||||
|
EXPECT_EQ(test.GetShowRows(), 0);
|
||||||
|
}
|
||||||
|
|
||||||
TEST_F(MndTestTrans, 01_Create_User_Crash) {
|
TEST_F(MndTestTrans, 01_Create_User_Crash) {
|
||||||
{
|
{
|
||||||
SCreateUserReq createReq = {0};
|
SCreateUserReq createReq = {0};
|
||||||
|
@ -171,6 +187,28 @@ TEST_F(MndTestTrans, 03_Create_Qnode2_Crash) {
|
||||||
ASSERT_EQ(pRsp->code, TSDB_CODE_RPC_NETWORK_UNAVAIL);
|
ASSERT_EQ(pRsp->code, TSDB_CODE_RPC_NETWORK_UNAVAIL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
// show trans
|
||||||
|
test.SendShowMetaReq(TSDB_MGMT_TABLE_TRANS, "");
|
||||||
|
CHECK_META("show trans", 7);
|
||||||
|
test.SendShowRetrieveReq();
|
||||||
|
|
||||||
|
EXPECT_EQ(test.GetShowRows(), 1);
|
||||||
|
CheckInt32(4);
|
||||||
|
CheckTimestamp();
|
||||||
|
CheckBinary("undoAction", TSDB_TRANS_STAGE_LEN);
|
||||||
|
CheckBinary("", TSDB_DB_NAME_LEN - 1);
|
||||||
|
CheckBinary("create-qnode", TSDB_TRANS_TYPE_LEN);
|
||||||
|
CheckTimestamp();
|
||||||
|
CheckBinary("Unable to establish connection", TSDB_TRANS_ERROR_LEN - 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
//kill trans
|
||||||
|
|
||||||
|
// show trans
|
||||||
|
|
||||||
|
// re-create trans
|
||||||
|
|
||||||
KillThenRestartServer();
|
KillThenRestartServer();
|
||||||
|
|
||||||
server2.DoStart();
|
server2.DoStart();
|
||||||
|
@ -201,3 +239,12 @@ TEST_F(MndTestTrans, 03_Create_Qnode2_Crash) {
|
||||||
EXPECT_EQ(test.GetShowRows(), 2);
|
EXPECT_EQ(test.GetShowRows(), 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// create db
|
||||||
|
// partial create stb
|
||||||
|
// drop db failed
|
||||||
|
// create stb failed
|
||||||
|
// start
|
||||||
|
// create stb success
|
||||||
|
// drop db success
|
||||||
|
|
Loading…
Reference in New Issue