[TD-184]
This commit is contained in:
parent
5362a0b15d
commit
3d2fdee8dc
|
@ -939,7 +939,7 @@ char *taos_errstr(TAOS *taos) {
|
||||||
|
|
||||||
void taos_config(int debug, char *log_path) {
|
void taos_config(int debug, char *log_path) {
|
||||||
uDebugFlag = debug;
|
uDebugFlag = debug;
|
||||||
strcpy(logDir, log_path);
|
strcpy(tsLogDir, log_path);
|
||||||
}
|
}
|
||||||
|
|
||||||
char *taos_get_server_info(TAOS *taos) {
|
char *taos_get_server_info(TAOS *taos) {
|
||||||
|
|
|
@ -220,7 +220,7 @@ int tscUpdateSubscription(STscObj* pObj, SSub* pSub) {
|
||||||
|
|
||||||
static int tscLoadSubscriptionProgress(SSub* pSub) {
|
static int tscLoadSubscriptionProgress(SSub* pSub) {
|
||||||
char buf[TSDB_MAX_SQL_LEN];
|
char buf[TSDB_MAX_SQL_LEN];
|
||||||
sprintf(buf, "%s/subscribe/%s", dataDir, pSub->topic);
|
sprintf(buf, "%s/subscribe/%s", tsDataDir, pSub->topic);
|
||||||
|
|
||||||
FILE* fp = fopen(buf, "r");
|
FILE* fp = fopen(buf, "r");
|
||||||
if (fp == NULL) {
|
if (fp == NULL) {
|
||||||
|
@ -281,12 +281,12 @@ void tscSaveSubscriptionProgress(void* sub) {
|
||||||
SSub* pSub = (SSub*)sub;
|
SSub* pSub = (SSub*)sub;
|
||||||
|
|
||||||
char path[256];
|
char path[256];
|
||||||
sprintf(path, "%s/subscribe", dataDir);
|
sprintf(path, "%s/subscribe", tsDataDir);
|
||||||
if (access(path, 0) != 0) {
|
if (access(path, 0) != 0) {
|
||||||
mkdir(path, 0777);
|
mkdir(path, 0777);
|
||||||
}
|
}
|
||||||
|
|
||||||
sprintf(path, "%s/subscribe/%s", dataDir, pSub->topic);
|
sprintf(path, "%s/subscribe/%s", tsDataDir, pSub->topic);
|
||||||
FILE* fp = fopen(path, "w+");
|
FILE* fp = fopen(path, "w+");
|
||||||
if (fp == NULL) {
|
if (fp == NULL) {
|
||||||
tscError("failed to create progress file for subscription: %s", pSub->topic);
|
tscError("failed to create progress file for subscription: %s", pSub->topic);
|
||||||
|
@ -416,7 +416,7 @@ void taos_unsubscribe(TAOS_SUB *tsub, int keepProgress) {
|
||||||
tscSaveSubscriptionProgress(pSub);
|
tscSaveSubscriptionProgress(pSub);
|
||||||
} else {
|
} else {
|
||||||
char path[256];
|
char path[256];
|
||||||
sprintf(path, "%s/subscribe/%s", dataDir, pSub->topic);
|
sprintf(path, "%s/subscribe/%s", tsDataDir, pSub->topic);
|
||||||
remove(path);
|
remove(path);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -121,11 +121,11 @@ void taos_init_imp() {
|
||||||
taosReadGlobalLogCfg();
|
taosReadGlobalLogCfg();
|
||||||
|
|
||||||
// For log directory
|
// For log directory
|
||||||
if (stat(logDir, &dirstat) < 0) mkdir(logDir, 0755);
|
if (stat(tsLogDir, &dirstat) < 0) mkdir(tsLogDir, 0755);
|
||||||
|
|
||||||
sprintf(temp, "%s/taoslog", logDir);
|
sprintf(temp, "%s/taoslog", tsLogDir);
|
||||||
if (taosInitLog(temp, tsNumOfLogLines, 10) < 0) {
|
if (taosInitLog(temp, tsNumOfLogLines, 10) < 0) {
|
||||||
printf("failed to open log file in directory:%s\n", logDir);
|
printf("failed to open log file in directory:%s\n", tsLogDir);
|
||||||
}
|
}
|
||||||
|
|
||||||
taosReadGlobalCfg();
|
taosReadGlobalCfg();
|
||||||
|
|
|
@ -24,10 +24,10 @@ extern char configDir[];
|
||||||
extern char tsVnodeDir[];
|
extern char tsVnodeDir[];
|
||||||
extern char tsDnodeDir[];
|
extern char tsDnodeDir[];
|
||||||
extern char tsMnodeDir[];
|
extern char tsMnodeDir[];
|
||||||
extern char dataDir[];
|
extern char tsDataDir[];
|
||||||
extern char logDir[];
|
extern char tsLogDir[];
|
||||||
extern char scriptDir[];
|
extern char tsScriptDir[];
|
||||||
extern char osName[];
|
extern char tsOsName[];
|
||||||
|
|
||||||
// system info
|
// system info
|
||||||
extern int64_t tsPageSize;
|
extern int64_t tsPageSize;
|
||||||
|
|
|
@ -30,9 +30,9 @@ char configDir[TSDB_FILENAME_LEN] = "/etc/taos";
|
||||||
char tsVnodeDir[TSDB_FILENAME_LEN] = {0};
|
char tsVnodeDir[TSDB_FILENAME_LEN] = {0};
|
||||||
char tsDnodeDir[TSDB_FILENAME_LEN] = {0};
|
char tsDnodeDir[TSDB_FILENAME_LEN] = {0};
|
||||||
char tsMnodeDir[TSDB_FILENAME_LEN] = {0};
|
char tsMnodeDir[TSDB_FILENAME_LEN] = {0};
|
||||||
char dataDir[TSDB_FILENAME_LEN] = "/var/lib/taos";
|
char tsDataDir[TSDB_FILENAME_LEN] = "/var/lib/taos";
|
||||||
char scriptDir[TSDB_FILENAME_LEN] = "/etc/taos";
|
char tsScriptDir[TSDB_FILENAME_LEN] = "/etc/taos";
|
||||||
char osName[10] = "Linux";
|
char tsOsName[10] = "Linux";
|
||||||
|
|
||||||
// system info, not configurable
|
// system info, not configurable
|
||||||
int64_t tsPageSize;
|
int64_t tsPageSize;
|
||||||
|
@ -407,7 +407,7 @@ static void doInitGlobalConfig() {
|
||||||
taosInitConfigOption(cfg);
|
taosInitConfigOption(cfg);
|
||||||
|
|
||||||
cfg.option = "logDir";
|
cfg.option = "logDir";
|
||||||
cfg.ptr = logDir;
|
cfg.ptr = tsLogDir;
|
||||||
cfg.valType = TAOS_CFG_VTYPE_DIRECTORY;
|
cfg.valType = TAOS_CFG_VTYPE_DIRECTORY;
|
||||||
cfg.cfgType = TSDB_CFG_CTYPE_B_CONFIG | TSDB_CFG_CTYPE_B_CLIENT | TSDB_CFG_CTYPE_B_LOG;
|
cfg.cfgType = TSDB_CFG_CTYPE_B_CONFIG | TSDB_CFG_CTYPE_B_CLIENT | TSDB_CFG_CTYPE_B_LOG;
|
||||||
cfg.minValue = 0;
|
cfg.minValue = 0;
|
||||||
|
@ -417,7 +417,7 @@ static void doInitGlobalConfig() {
|
||||||
taosInitConfigOption(cfg);
|
taosInitConfigOption(cfg);
|
||||||
|
|
||||||
cfg.option = "scriptDir";
|
cfg.option = "scriptDir";
|
||||||
cfg.ptr = scriptDir;
|
cfg.ptr = tsScriptDir;
|
||||||
cfg.valType = TAOS_CFG_VTYPE_DIRECTORY;
|
cfg.valType = TAOS_CFG_VTYPE_DIRECTORY;
|
||||||
cfg.cfgType = TSDB_CFG_CTYPE_B_CONFIG | TSDB_CFG_CTYPE_B_CLIENT;
|
cfg.cfgType = TSDB_CFG_CTYPE_B_CONFIG | TSDB_CFG_CTYPE_B_CLIENT;
|
||||||
cfg.minValue = 0;
|
cfg.minValue = 0;
|
||||||
|
@ -427,7 +427,7 @@ static void doInitGlobalConfig() {
|
||||||
taosInitConfigOption(cfg);
|
taosInitConfigOption(cfg);
|
||||||
|
|
||||||
cfg.option = "dataDir";
|
cfg.option = "dataDir";
|
||||||
cfg.ptr = dataDir;
|
cfg.ptr = tsDataDir;
|
||||||
cfg.valType = TAOS_CFG_VTYPE_DIRECTORY;
|
cfg.valType = TAOS_CFG_VTYPE_DIRECTORY;
|
||||||
cfg.cfgType = TSDB_CFG_CTYPE_B_CONFIG;
|
cfg.cfgType = TSDB_CFG_CTYPE_B_CONFIG;
|
||||||
cfg.minValue = 0;
|
cfg.minValue = 0;
|
||||||
|
|
|
@ -144,12 +144,12 @@ static int32_t dnodeInitSystem() {
|
||||||
signal(SIGPIPE, SIG_IGN);
|
signal(SIGPIPE, SIG_IGN);
|
||||||
|
|
||||||
struct stat dirstat;
|
struct stat dirstat;
|
||||||
if (stat(logDir, &dirstat) < 0) {
|
if (stat(tsLogDir, &dirstat) < 0) {
|
||||||
mkdir(logDir, 0755);
|
mkdir(tsLogDir, 0755);
|
||||||
}
|
}
|
||||||
|
|
||||||
char temp[TSDB_FILENAME_LEN];
|
char temp[TSDB_FILENAME_LEN];
|
||||||
sprintf(temp, "%s/taosdlog", logDir);
|
sprintf(temp, "%s/taosdlog", tsLogDir);
|
||||||
if (taosInitLog(temp, tsNumOfLogLines, 1) < 0) {
|
if (taosInitLog(temp, tsNumOfLogLines, 1) < 0) {
|
||||||
printf("failed to init log file\n");
|
printf("failed to init log file\n");
|
||||||
}
|
}
|
||||||
|
@ -218,13 +218,13 @@ static void dnodeCheckDataDirOpenned(char *dir) {
|
||||||
|
|
||||||
static int32_t dnodeInitStorage() {
|
static int32_t dnodeInitStorage() {
|
||||||
struct stat dirstat;
|
struct stat dirstat;
|
||||||
if (stat(dataDir, &dirstat) < 0) {
|
if (stat(tsDataDir, &dirstat) < 0) {
|
||||||
mkdir(dataDir, 0755);
|
mkdir(tsDataDir, 0755);
|
||||||
}
|
}
|
||||||
|
|
||||||
sprintf(tsMnodeDir, "%s/mnode", dataDir);
|
sprintf(tsMnodeDir, "%s/mnode", tsDataDir);
|
||||||
sprintf(tsVnodeDir, "%s/vnode", dataDir);
|
sprintf(tsVnodeDir, "%s/vnode", tsDataDir);
|
||||||
sprintf(tsDnodeDir, "%s/dnode", dataDir);
|
sprintf(tsDnodeDir, "%s/dnode", tsDataDir);
|
||||||
mkdir(tsVnodeDir, 0755);
|
mkdir(tsVnodeDir, 0755);
|
||||||
mkdir(tsDnodeDir, 0755);
|
mkdir(tsDnodeDir, 0755);
|
||||||
|
|
||||||
|
|
|
@ -265,6 +265,7 @@ typedef struct {
|
||||||
char tableId[TSDB_TABLE_ID_LEN + 1];
|
char tableId[TSDB_TABLE_ID_LEN + 1];
|
||||||
char db[TSDB_DB_NAME_LEN + 1];
|
char db[TSDB_DB_NAME_LEN + 1];
|
||||||
int8_t igExists;
|
int8_t igExists;
|
||||||
|
int8_t getMeta;
|
||||||
int16_t numOfTags;
|
int16_t numOfTags;
|
||||||
int16_t numOfColumns;
|
int16_t numOfColumns;
|
||||||
int16_t sqlLen; // the length of SQL, it starts after schema , sql is a null-terminated string
|
int16_t sqlLen; // the length of SQL, it starts after schema , sql is a null-terminated string
|
||||||
|
|
|
@ -40,7 +40,7 @@ History history;
|
||||||
*/
|
*/
|
||||||
TAOS *shellInit(struct arguments *args) {
|
TAOS *shellInit(struct arguments *args) {
|
||||||
printf("\n");
|
printf("\n");
|
||||||
printf(CLIENT_VERSION, osName, taos_get_client_info());
|
printf(CLIENT_VERSION, tsOsName, taos_get_client_info());
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
|
|
||||||
// set options before initializing
|
// set options before initializing
|
||||||
|
|
|
@ -770,11 +770,17 @@ static SDbCfg mgmtGetAlterDbOption(SDbObj *pDb, SCMAlterDbMsg *pAlter) {
|
||||||
mTrace("db:%s, replications:%d change to %d", pDb->name, pDb->cfg.replications, replications);
|
mTrace("db:%s, replications:%d change to %d", pDb->name, pDb->cfg.replications, replications);
|
||||||
newCfg.replications = replications;
|
newCfg.replications = replications;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (replications > mgmtGetDnodesNum()) {
|
if (replications > mgmtGetDnodesNum()) {
|
||||||
mError("db:%s, no enough dnode to change replica:%d", pDb->name, replications);
|
mError("db:%s, no enough dnode to change replica:%d", pDb->name, replications);
|
||||||
terrno = TSDB_CODE_NO_ENOUGH_DNODES;
|
terrno = TSDB_CODE_NO_ENOUGH_DNODES;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (pDb->cfg.replications - replications >= 2) {
|
||||||
|
mError("db:%s, replica number can't change from 3 to 1", pDb->name, replications);
|
||||||
|
terrno = TSDB_CODE_INVALID_OPTION;
|
||||||
|
}
|
||||||
|
|
||||||
return newCfg;
|
return newCfg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -336,7 +336,7 @@ void mgmtProcessDnodeStatusMsg(SRpcMsg *rpcMsg) {
|
||||||
if (pStatus->dnodeId == 0) {
|
if (pStatus->dnodeId == 0) {
|
||||||
mTrace("dnode:%d, first access, privateIp:%s, name:%s", pDnode->dnodeId, taosIpStr(pDnode->privateIp), pDnode->dnodeName);
|
mTrace("dnode:%d, first access, privateIp:%s, name:%s", pDnode->dnodeId, taosIpStr(pDnode->privateIp), pDnode->dnodeName);
|
||||||
} else {
|
} else {
|
||||||
//mTrace("dnode:%d, status received, access times %d", pDnode->dnodeId, pDnode->lastAccess);
|
mTrace("dnode:%d, status received, access times %d", pDnode->dnodeId, pDnode->lastAccess);
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t openVnodes = htons(pStatus->openVnodes);
|
int32_t openVnodes = htons(pStatus->openVnodes);
|
||||||
|
|
|
@ -745,16 +745,14 @@ void mgmtDropAllVgroups(SDbObj *pDropDb) {
|
||||||
void *pNode = NULL;
|
void *pNode = NULL;
|
||||||
void *pLastNode = NULL;
|
void *pLastNode = NULL;
|
||||||
int32_t numOfVgroups = 0;
|
int32_t numOfVgroups = 0;
|
||||||
int32_t dbNameLen = strlen(pDropDb->name);
|
|
||||||
SVgObj *pVgroup = NULL;
|
SVgObj *pVgroup = NULL;
|
||||||
|
|
||||||
mPrint("db:%s, all vgroups will be dropped from sdb", pDropDb->name);
|
mPrint("db:%s, all vgroups will be dropped from sdb", pDropDb->name);
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
pNode = sdbFetchRow(tsVgroupSdb, pNode, (void **)&pVgroup);
|
pNode = sdbFetchRow(tsVgroupSdb, pNode, (void **)&pVgroup);
|
||||||
if (pVgroup == NULL) break;
|
if (pVgroup == NULL) break;
|
||||||
|
|
||||||
if (strncmp(pDropDb->name, pVgroup->dbName, dbNameLen) == 0) {
|
if (pVgroup->pDb == pDropDb) {
|
||||||
SSdbOper oper = {
|
SSdbOper oper = {
|
||||||
.type = SDB_OPER_LOCAL,
|
.type = SDB_OPER_LOCAL,
|
||||||
.table = tsVgroupSdb,
|
.table = tsVgroupSdb,
|
||||||
|
@ -763,9 +761,9 @@ void mgmtDropAllVgroups(SDbObj *pDropDb) {
|
||||||
sdbDeleteRow(&oper);
|
sdbDeleteRow(&oper);
|
||||||
pNode = pLastNode;
|
pNode = pLastNode;
|
||||||
numOfVgroups++;
|
numOfVgroups++;
|
||||||
|
mgmtSendDropVgroupMsg(pVgroup, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
mgmtSendDropVgroupMsg(pVgroup, NULL);
|
|
||||||
mgmtDecVgroupRef(pVgroup);
|
mgmtDecVgroupRef(pVgroup);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -23,8 +23,8 @@ void osInit() {
|
||||||
strcpy(tsVnodeDir, "");
|
strcpy(tsVnodeDir, "");
|
||||||
strcpy(tsDnodeDir, "");
|
strcpy(tsDnodeDir, "");
|
||||||
strcpy(tsMnodeDir, "");
|
strcpy(tsMnodeDir, "");
|
||||||
strcpy(dataDir, "/var/lib/taos");
|
strcpy(tsDataDir, "/var/lib/taos");
|
||||||
strcpy(logDir, "~/TDengineLog");
|
strcpy(tsLogDir, "~/TDengineLog");
|
||||||
strcpy(scriptDir, "/etc/taos");
|
strcpy(tsScriptDir, "/etc/taos");
|
||||||
strcpy(osName, "Darwin");
|
strcpy(tsOsName, "Darwin");
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,8 +23,8 @@ void osInit() {
|
||||||
strcpy(tsVnodeDir, "");
|
strcpy(tsVnodeDir, "");
|
||||||
strcpy(tsDnodeDir, "");
|
strcpy(tsDnodeDir, "");
|
||||||
strcpy(tsMnodeDir, "");
|
strcpy(tsMnodeDir, "");
|
||||||
strcpy(dataDir, "/var/lib/taos");
|
strcpy(tsDataDir, "/var/lib/taos");
|
||||||
strcpy(logDir, "/var/log/taos");
|
strcpy(tsLogDir, "/var/log/taos");
|
||||||
strcpy(scriptDir, "/etc/taos");
|
strcpy(tsScriptDir, "/etc/taos");
|
||||||
strcpy(osName, "Linux");
|
strcpy(tsOsName, "Linux");
|
||||||
}
|
}
|
|
@ -290,11 +290,12 @@ bool taosGetCpuUsage(float *sysCpuUsage, float *procCpuUsage) {
|
||||||
bool taosGetDisk() {
|
bool taosGetDisk() {
|
||||||
struct statvfs info;
|
struct statvfs info;
|
||||||
const double unit = 1024 * 1024 * 1024;
|
const double unit = 1024 * 1024 * 1024;
|
||||||
|
|
||||||
if (tscEmbedded) {
|
if (tscEmbedded) {
|
||||||
if (statvfs(dataDir, &info)) {
|
if (statvfs(tsDataDir, &info)) {
|
||||||
tsTotalDataDirGB = 0;
|
//tsTotalDataDirGB = 0;
|
||||||
tsAvailDataDirGB = 0;
|
//tsAvailDataDirGB = 0;
|
||||||
|
uError("failed to get disk size, dataDir:%s errno:%s", tsDataDir, strerror(errno));
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
tsTotalDataDirGB = (float)((double)info.f_blocks * (double)info.f_frsize / unit);
|
tsTotalDataDirGB = (float)((double)info.f_blocks * (double)info.f_frsize / unit);
|
||||||
|
@ -302,9 +303,10 @@ bool taosGetDisk() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (statvfs(logDir, &info)) {
|
if (statvfs(tsLogDir, &info)) {
|
||||||
tsTotalLogDirGB = 0;
|
//tsTotalLogDirGB = 0;
|
||||||
tsAvailLogDirGB = 0;
|
//tsAvailLogDirGB = 0;
|
||||||
|
uError("failed to get disk size, logDir:%s errno:%s", tsLogDir, strerror(errno));
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
tsTotalLogDirGB = (float)((double)info.f_blocks * (double)info.f_frsize / unit);
|
tsTotalLogDirGB = (float)((double)info.f_blocks * (double)info.f_frsize / unit);
|
||||||
|
@ -312,8 +314,9 @@ bool taosGetDisk() {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (statvfs("/tmp", &info)) {
|
if (statvfs("/tmp", &info)) {
|
||||||
tsTotalTmpDirGB = 0;
|
//tsTotalTmpDirGB = 0;
|
||||||
tsAvailTmpDirGB = 0;
|
//tsAvailTmpDirGB = 0;
|
||||||
|
uError("failed to get disk size, tmpDir:/tmp errno:%s", strerror(errno));
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
tsTotalTmpDirGB = (float)((double)info.f_blocks * (double)info.f_frsize / unit);
|
tsTotalTmpDirGB = (float)((double)info.f_blocks * (double)info.f_frsize / unit);
|
||||||
|
|
|
@ -23,8 +23,8 @@ void osInit() {
|
||||||
strcpy(tsVnodeDir, "C:/TDengine/data");
|
strcpy(tsVnodeDir, "C:/TDengine/data");
|
||||||
strcpy(tsDnodeDir, "");
|
strcpy(tsDnodeDir, "");
|
||||||
strcpy(tsMnodeDir, "");
|
strcpy(tsMnodeDir, "");
|
||||||
strcpy(dataDir, "C:/TDengine/data");
|
strcpy(tsDataDir, "C:/TDengine/data");
|
||||||
strcpy(logDir, "C:/TDengine/log");
|
strcpy(tsLogDir, "C:/TDengine/log");
|
||||||
strcpy(scriptDir, "C:/TDengine/script");
|
strcpy(tsScriptDir, "C:/TDengine/script");
|
||||||
strcpy(osName, "Windows");
|
strcpy(tsOsName, "Windows");
|
||||||
}
|
}
|
|
@ -915,7 +915,7 @@ _exit:
|
||||||
}
|
}
|
||||||
|
|
||||||
static int tsdbCommitToFile(STsdbRepo *pRepo, int fid, SSkipListIterator **iters, SRWHelper *pHelper, SDataCols *pDataCols) {
|
static int tsdbCommitToFile(STsdbRepo *pRepo, int fid, SSkipListIterator **iters, SRWHelper *pHelper, SDataCols *pDataCols) {
|
||||||
|
char dataDir[128] = {0};
|
||||||
STsdbMeta * pMeta = pRepo->tsdbMeta;
|
STsdbMeta * pMeta = pRepo->tsdbMeta;
|
||||||
STsdbFileH *pFileH = pRepo->tsdbFileH;
|
STsdbFileH *pFileH = pRepo->tsdbFileH;
|
||||||
STsdbCfg * pCfg = &pRepo->config;
|
STsdbCfg * pCfg = &pRepo->config;
|
||||||
|
|
|
@ -540,7 +540,7 @@ bool taosHashIterNext(SHashMutableIterator *pIter) {
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t size = taosHashGetSize(pIter->pHashObj);
|
size_t size = taosHashGetSize(pIter->pHashObj);
|
||||||
if (size == 0 || pIter->num >= size) {
|
if (size == 0) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -249,7 +249,7 @@ void taosReadGlobalLogCfg() {
|
||||||
}
|
}
|
||||||
wordfree(&full_path);
|
wordfree(&full_path);
|
||||||
|
|
||||||
taosReadLogOption("logDir", logDir);
|
taosReadLogOption("tsLogDir", tsLogDir);
|
||||||
|
|
||||||
sprintf(fileName, "%s/taos.cfg", configDir);
|
sprintf(fileName, "%s/taos.cfg", configDir);
|
||||||
fp = fopen(fileName, "r");
|
fp = fopen(fileName, "r");
|
||||||
|
|
|
@ -66,7 +66,7 @@ int32_t tsAsyncLog = 1;
|
||||||
float tsTotalLogDirGB = 0;
|
float tsTotalLogDirGB = 0;
|
||||||
float tsAvailLogDirGB = 0;
|
float tsAvailLogDirGB = 0;
|
||||||
float tsMinimalLogDirGB = 0.1;
|
float tsMinimalLogDirGB = 0.1;
|
||||||
char logDir[TSDB_FILENAME_LEN] = "/var/log/taos";
|
char tsLogDir[TSDB_FILENAME_LEN] = "/var/log/taos";
|
||||||
|
|
||||||
static SLogObj tsLogObj = { .fileNum = 1 };
|
static SLogObj tsLogObj = { .fileNum = 1 };
|
||||||
static void * taosAsyncOutputLog(void *param);
|
static void * taosAsyncOutputLog(void *param);
|
||||||
|
@ -298,7 +298,7 @@ static int32_t taosOpenLogFile(char *fn, int32_t maxLines, int32_t maxFileNum) {
|
||||||
|
|
||||||
void taosPrintLog(const char *const flags, int32_t dflag, const char *const format, ...) {
|
void taosPrintLog(const char *const flags, int32_t dflag, const char *const format, ...) {
|
||||||
if (tsTotalLogDirGB != 0 && tsAvailLogDirGB < tsMinimalLogDirGB) {
|
if (tsTotalLogDirGB != 0 && tsAvailLogDirGB < tsMinimalLogDirGB) {
|
||||||
printf("server disk:%s space remain %.3f GB, total %.1f GB, stop print log.\n", logDir, tsAvailLogDirGB, tsTotalLogDirGB);
|
printf("server disk:%s space remain %.3f GB, total %.1f GB, stop print log.\n", tsLogDir, tsAvailLogDirGB, tsTotalLogDirGB);
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -356,7 +356,7 @@ void taosPrintLog(const char *const flags, int32_t dflag, const char *const form
|
||||||
|
|
||||||
void taosDumpData(unsigned char *msg, int32_t len) {
|
void taosDumpData(unsigned char *msg, int32_t len) {
|
||||||
if (tsTotalLogDirGB != 0 && tsAvailLogDirGB < tsMinimalLogDirGB) {
|
if (tsTotalLogDirGB != 0 && tsAvailLogDirGB < tsMinimalLogDirGB) {
|
||||||
printf("server disk:%s space remain %.3f GB, total %.1f GB, stop dump log.\n", logDir, tsAvailLogDirGB, tsTotalLogDirGB);
|
printf("server disk:%s space remain %.3f GB, total %.1f GB, stop dump log.\n", tsLogDir, tsAvailLogDirGB, tsTotalLogDirGB);
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -385,7 +385,7 @@ void taosDumpData(unsigned char *msg, int32_t len) {
|
||||||
|
|
||||||
void taosPrintLongString(const char *const flags, int32_t dflag, const char *const format, ...) {
|
void taosPrintLongString(const char *const flags, int32_t dflag, const char *const format, ...) {
|
||||||
if (tsTotalLogDirGB != 0 && tsAvailLogDirGB < tsMinimalLogDirGB) {
|
if (tsTotalLogDirGB != 0 && tsAvailLogDirGB < tsMinimalLogDirGB) {
|
||||||
printf("server disk:%s space remain %.3f GB, total %.1f GB, stop write log.\n", logDir, tsAvailLogDirGB, tsTotalLogDirGB);
|
printf("server disk:%s space remain %.3f GB, total %.1f GB, stop write log.\n", tsLogDir, tsAvailLogDirGB, tsTotalLogDirGB);
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,10 +27,10 @@ void taosInitNote(int numOfNoteLines, int maxNotes, char* lable)
|
||||||
|
|
||||||
if (strcasecmp(lable, "http_note") == 0) {
|
if (strcasecmp(lable, "http_note") == 0) {
|
||||||
pNote = &m_HttpNote;
|
pNote = &m_HttpNote;
|
||||||
sprintf(temp, "%s/httpnote", logDir);
|
sprintf(temp, "%s/httpnote", tsLogDir);
|
||||||
} else if (strcasecmp(lable, "tsc_note") == 0) {
|
} else if (strcasecmp(lable, "tsc_note") == 0) {
|
||||||
pNote = &m_TscNote;
|
pNote = &m_TscNote;
|
||||||
sprintf(temp, "%s/tscnote-%d", logDir, getpid());
|
sprintf(temp, "%s/tscnote-%d", tsLogDir, getpid());
|
||||||
} else {
|
} else {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -379,7 +379,8 @@ static int32_t vnodeSaveCfg(SMDCreateVnodeMsg *pVnodeCfg) {
|
||||||
sprintf(cfgFile, "%s/vnode%d/config.json", tsVnodeDir, pVnodeCfg->cfg.vgId);
|
sprintf(cfgFile, "%s/vnode%d/config.json", tsVnodeDir, pVnodeCfg->cfg.vgId);
|
||||||
FILE *fp = fopen(cfgFile, "w");
|
FILE *fp = fopen(cfgFile, "w");
|
||||||
if (!fp) {
|
if (!fp) {
|
||||||
dError("vgId:%d, failed to open vnode cfg file for write, error:%s", pVnodeCfg->cfg.vgId, strerror(errno));
|
dError("vgId:%d, failed to open vnode cfg file for write, file:%s error:%s", pVnodeCfg->cfg.vgId, cfgFile,
|
||||||
|
strerror(errno));
|
||||||
return errno;
|
return errno;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -444,7 +445,8 @@ static int32_t vnodeReadCfg(SVnodeObj *pVnode) {
|
||||||
sprintf(cfgFile, "%s/vnode%d/config.json", tsVnodeDir, pVnode->vgId);
|
sprintf(cfgFile, "%s/vnode%d/config.json", tsVnodeDir, pVnode->vgId);
|
||||||
FILE *fp = fopen(cfgFile, "r");
|
FILE *fp = fopen(cfgFile, "r");
|
||||||
if (!fp) {
|
if (!fp) {
|
||||||
dError("pVnode:%p vgId:%d, failed to open vnode cfg file for read, error:%s", pVnode, pVnode->vgId, strerror(errno));
|
dError("pVnode:%p vgId:%d, failed to open vnode cfg file for read, file:%s, error:%s", pVnode, pVnode->vgId,
|
||||||
|
cfgFile, strerror(errno));
|
||||||
return errno;
|
return errno;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -645,13 +647,13 @@ PARSE_OVER:
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int32_t vnodeSaveVersion(SVnodeObj *pVnode) {
|
static int32_t vnodeSaveVersion(SVnodeObj *pVnode) {
|
||||||
char versionFile[TSDB_FILENAME_LEN + 30] = {0};
|
char versionFile[TSDB_FILENAME_LEN + 30] = {0};
|
||||||
sprintf(versionFile, "%s/vnode%d/version.json", tsVnodeDir, pVnode->vgId);
|
sprintf(versionFile, "%s/vnode%d/version.json", tsVnodeDir, pVnode->vgId);
|
||||||
FILE *fp = fopen(versionFile, "w");
|
FILE *fp = fopen(versionFile, "w");
|
||||||
if (!fp) {
|
if (!fp) {
|
||||||
dError("pVnode:%p vgId:%d, failed to open vnode version file for write, error:%s", pVnode, pVnode->vgId, strerror(errno));
|
dError("pVnode:%p vgId:%d, failed to open vnode version file for write, file:%s error:%s", pVnode, pVnode->vgId,
|
||||||
|
versionFile, strerror(errno));
|
||||||
return errno;
|
return errno;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -677,7 +679,8 @@ static bool vnodeReadVersion(SVnodeObj *pVnode) {
|
||||||
sprintf(versionFile, "%s/vnode%d/version.json", tsVnodeDir, pVnode->vgId);
|
sprintf(versionFile, "%s/vnode%d/version.json", tsVnodeDir, pVnode->vgId);
|
||||||
FILE *fp = fopen(versionFile, "r");
|
FILE *fp = fopen(versionFile, "r");
|
||||||
if (!fp) {
|
if (!fp) {
|
||||||
dError("pVnode:%p vgId:%d, failed to open vnode version file for write, error:%s", pVnode, pVnode->vgId, strerror(errno));
|
dTrace("pVnode:%p vgId:%d, failed to open version file:%s error:%s", pVnode, pVnode->vgId,
|
||||||
|
versionFile, strerror(errno));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,13 +17,13 @@ system sh/cfg.sh -n dnode2 -c mgmtEqualVnodeNum -v 4
|
||||||
system sh/cfg.sh -n dnode3 -c mgmtEqualVnodeNum -v 4
|
system sh/cfg.sh -n dnode3 -c mgmtEqualVnodeNum -v 4
|
||||||
|
|
||||||
print ========= start dnode1 as master
|
print ========= start dnode1 as master
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec_up.sh -n dnode1 -s start
|
||||||
sql connect
|
sql connect
|
||||||
sleep 3000
|
sleep 3000
|
||||||
|
|
||||||
print ========= start other dnodes
|
print ========= start other dnodes
|
||||||
sql create dnode 192.168.0.2
|
sql create dnode 192.168.0.2
|
||||||
system sh/exec.sh -n dnode2 -s start
|
system sh/exec_up.sh -n dnode2 -s start
|
||||||
sleep 3000
|
sleep 3000
|
||||||
|
|
||||||
print ======== step1 create db
|
print ======== step1 create db
|
||||||
|
@ -50,9 +50,9 @@ if $data01 != 40 then
|
||||||
endi
|
endi
|
||||||
|
|
||||||
print ======== step2 stop dnode
|
print ======== step2 stop dnode
|
||||||
system sh/exec.sh -n dnode2 -s stop -x SIGINT
|
system sh/exec_up.sh -n dnode2 -s stop -x SIGINT
|
||||||
sleep 5000
|
sleep 5000
|
||||||
system sh/exec.sh -n dnode2 -s start
|
system sh/exec_up.sh -n dnode2 -s start
|
||||||
sleep 3000
|
sleep 3000
|
||||||
|
|
||||||
sql select * from tb order by ts desc
|
sql select * from tb order by ts desc
|
||||||
|
@ -101,9 +101,9 @@ if $data01 != 40 then
|
||||||
endi
|
endi
|
||||||
|
|
||||||
print ======== step5 stop dnode
|
print ======== step5 stop dnode
|
||||||
system sh/exec.sh -n dnode2 -s stop -x SIGINT
|
system sh/exec_up.sh -n dnode2 -s stop -x SIGINT
|
||||||
sleep 5000
|
sleep 5000
|
||||||
system sh/exec.sh -n dnode2 -s start
|
system sh/exec_up.sh -n dnode2 -s start
|
||||||
sleep 3000
|
sleep 3000
|
||||||
|
|
||||||
sql select * from tb
|
sql select * from tb
|
||||||
|
|
|
@ -20,12 +20,12 @@ system sh/cfg.sh -n dnode2 -c cacheBlockSize -v 200
|
||||||
system sh/cfg.sh -n dnode3 -c cacheBlockSize -v 200
|
system sh/cfg.sh -n dnode3 -c cacheBlockSize -v 200
|
||||||
|
|
||||||
print ========= start dnodes
|
print ========= start dnodes
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec_up.sh -n dnode1 -s start
|
||||||
sql connect
|
sql connect
|
||||||
sql create dnode 192.168.0.2
|
sql create dnode 192.168.0.2
|
||||||
system sh/exec.sh -n dnode2 -s start
|
system sh/exec_up.sh -n dnode2 -s start
|
||||||
sql create dnode 192.168.0.3
|
sql create dnode 192.168.0.3
|
||||||
system sh/exec.sh -n dnode3 -s start
|
system sh/exec_up.sh -n dnode3 -s start
|
||||||
sleep 3000
|
sleep 3000
|
||||||
|
|
||||||
print ======== step1
|
print ======== step1
|
||||||
|
|
|
@ -35,10 +35,10 @@ system sh/cfg.sh -n dnode3 -c tables -v 4
|
||||||
system sh/cfg.sh -n dnode4 -c tables -v 4
|
system sh/cfg.sh -n dnode4 -c tables -v 4
|
||||||
|
|
||||||
print ========= start dnodes
|
print ========= start dnodes
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec_up.sh -n dnode1 -s start
|
||||||
sql connect
|
sql connect
|
||||||
sql create dnode 192.168.0.2
|
sql create dnode 192.168.0.2
|
||||||
system sh/exec.sh -n dnode2 -s start
|
system sh/exec_up.sh -n dnode2 -s start
|
||||||
sleep 3000
|
sleep 3000
|
||||||
|
|
||||||
$loop = 0
|
$loop = 0
|
||||||
|
@ -59,13 +59,13 @@ begin:
|
||||||
endw
|
endw
|
||||||
|
|
||||||
print ======== step2
|
print ======== step2
|
||||||
system sh/exec.sh -n dnode2 -s stop
|
system sh/exec_up.sh -n dnode2 -s stop
|
||||||
sql drop database $db
|
sql drop database $db
|
||||||
|
|
||||||
|
|
||||||
print ======== step3
|
print ======== step3
|
||||||
sleep 3000
|
sleep 3000
|
||||||
system sh/exec.sh -n dnode2 -s start
|
system sh/exec_up.sh -n dnode2 -s start
|
||||||
sleep 20000
|
sleep 20000
|
||||||
|
|
||||||
print ===> test times : $loop
|
print ===> test times : $loop
|
||||||
|
|
|
@ -30,14 +30,14 @@ system sh/cfg.sh -n dnode3 -c numOfTotalVnodes -v 4
|
||||||
system sh/cfg.sh -n dnode4 -c numOfTotalVnodes -v 4
|
system sh/cfg.sh -n dnode4 -c numOfTotalVnodes -v 4
|
||||||
|
|
||||||
print ========= start dnodes
|
print ========= start dnodes
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec_up.sh -n dnode1 -s start
|
||||||
sql connect
|
sql connect
|
||||||
sql create dnode 192.168.0.2
|
sql create dnode 192.168.0.2
|
||||||
system sh/exec.sh -n dnode2 -s start
|
system sh/exec_up.sh -n dnode2 -s start
|
||||||
sql create dnode 192.168.0.3
|
sql create dnode 192.168.0.3
|
||||||
system sh/exec.sh -n dnode3 -s start
|
system sh/exec_up.sh -n dnode3 -s start
|
||||||
sql create dnode 192.168.0.4
|
sql create dnode 192.168.0.4
|
||||||
system sh/exec.sh -n dnode4 -s start
|
system sh/exec_up.sh -n dnode4 -s start
|
||||||
sleep 3000
|
sleep 3000
|
||||||
|
|
||||||
print ======== step1
|
print ======== step1
|
||||||
|
@ -81,7 +81,7 @@ sql alter database d1 replica 3
|
||||||
sql alter database d2 replica 3
|
sql alter database d2 replica 3
|
||||||
sql alter database d3 replica 3
|
sql alter database d3 replica 3
|
||||||
sql alter database d4 replica 3
|
sql alter database d4 replica 3
|
||||||
sleep 12000
|
sleep 10000
|
||||||
|
|
||||||
print ======== step3
|
print ======== step3
|
||||||
$x = 0
|
$x = 0
|
||||||
|
@ -93,29 +93,25 @@ show3:
|
||||||
endi
|
endi
|
||||||
|
|
||||||
sql show dnodes
|
sql show dnodes
|
||||||
print dnode192.168.0.1 ==> openVnodes: $data2_192.168.0.1 freeVnodes: $data3_192.168.0.1
|
print dnode192.168.0.1 ==> openVnodes: $data3_1
|
||||||
print dnode192.168.0.2 ==> openVnodes: $data2_192.168.0.2 freeVnodes: $data3_192.168.0.2
|
print dnode192.168.0.2 ==> openVnodes: $data3_2
|
||||||
print dnode192.168.0.3 ==> openVnodes: $data2_192.168.0.3 freeVnodes: $data3_192.168.0.3
|
print dnode192.168.0.3 ==> openVnodes: $data3_3
|
||||||
print dnode192.168.0.4 ==> openVnodes: $data2_192.168.0.4 freeVnodes: $data3_192.168.0.4
|
print dnode192.168.0.4 ==> openVnodes: $data3_4
|
||||||
|
|
||||||
if $data2_192.168.0.1 != 0 then
|
if $data3_1 != 0 then
|
||||||
goto show3
|
return -1
|
||||||
endi
|
endi
|
||||||
|
|
||||||
if $data3_192.168.0.1 != 4 then
|
if $data3_2 != 4 then
|
||||||
goto show3
|
return -1
|
||||||
endi
|
endi
|
||||||
|
|
||||||
if $data3_192.168.0.2 != 0 then
|
if $data3_3 != 4 then
|
||||||
goto show3
|
return -1
|
||||||
endi
|
endi
|
||||||
|
|
||||||
if $data3_192.168.0.3 != 0 then
|
if $data3_3 != 4 then
|
||||||
goto show3
|
return -1
|
||||||
endi
|
|
||||||
|
|
||||||
if $data3_192.168.0.4 != 0 then
|
|
||||||
goto show3
|
|
||||||
endi
|
endi
|
||||||
|
|
||||||
print ======== step4
|
print ======== step4
|
||||||
|
@ -145,9 +141,10 @@ if $rows != 2 then
|
||||||
endi
|
endi
|
||||||
|
|
||||||
print ========= step5
|
print ========= step5
|
||||||
sleep 10000
|
sql reset query cache
|
||||||
system sh/exec.sh -n dnode2 -s stop -x SIGINT
|
sleep 1000
|
||||||
sleep 3000
|
system sh/exec_up.sh -n dnode2 -s stop -x SIGINT
|
||||||
|
sleep 5000
|
||||||
|
|
||||||
sql insert into d1.t1 values(now, 3)
|
sql insert into d1.t1 values(now, 3)
|
||||||
sql insert into d2.t2 values(now, 3)
|
sql insert into d2.t2 values(now, 3)
|
||||||
|
@ -175,9 +172,9 @@ if $rows != 3 then
|
||||||
endi
|
endi
|
||||||
|
|
||||||
print ========= step6
|
print ========= step6
|
||||||
system sh/exec.sh -n dnode2 -s start
|
system sh/exec_up.sh -n dnode2 -s start
|
||||||
sleep 5000
|
sleep 5000
|
||||||
system sh/exec.sh -n dnode3 -s stop -x SIGINT
|
system sh/exec_up.sh -n dnode3 -s stop -x SIGINT
|
||||||
sleep 3000
|
sleep 3000
|
||||||
|
|
||||||
sql insert into d1.t1 values(now, 4)
|
sql insert into d1.t1 values(now, 4)
|
||||||
|
@ -206,9 +203,9 @@ if $rows != 4 then
|
||||||
endi
|
endi
|
||||||
|
|
||||||
print ========= step7
|
print ========= step7
|
||||||
system sh/exec.sh -n dnode3 -s start
|
system sh/exec_up.sh -n dnode3 -s start
|
||||||
sleep 5000
|
sleep 5000
|
||||||
system sh/exec.sh -n dnode4 -s stop -x SIGINT
|
system sh/exec_up.sh -n dnode4 -s stop -x SIGINT
|
||||||
sleep 3000
|
sleep 3000
|
||||||
|
|
||||||
sql insert into d1.t1 values(now, 5)
|
sql insert into d1.t1 values(now, 5)
|
||||||
|
@ -237,9 +234,9 @@ if $rows != 5 then
|
||||||
endi
|
endi
|
||||||
|
|
||||||
print ========= step8
|
print ========= step8
|
||||||
system sh/exec.sh -n dnode4 -s start
|
system sh/exec_up.sh -n dnode4 -s start
|
||||||
sleep 5000
|
sleep 5000
|
||||||
system sh/exec.sh -n dnode2 -s stop -x SIGINT
|
system sh/exec_up.sh -n dnode2 -s stop -x SIGINT
|
||||||
sleep 3000
|
sleep 3000
|
||||||
|
|
||||||
sql insert into d1.t1 values(now, 6)
|
sql insert into d1.t1 values(now, 6)
|
||||||
|
|
|
@ -30,14 +30,14 @@ system sh/cfg.sh -n dnode3 -c numOfTotalVnodes -v 4
|
||||||
system sh/cfg.sh -n dnode4 -c numOfTotalVnodes -v 4
|
system sh/cfg.sh -n dnode4 -c numOfTotalVnodes -v 4
|
||||||
|
|
||||||
print ========= start dnodes
|
print ========= start dnodes
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec_up.sh -n dnode1 -s start
|
||||||
sql connect
|
sql connect
|
||||||
sql create dnode 192.168.0.2
|
sql create dnode 192.168.0.2
|
||||||
system sh/exec.sh -n dnode2 -s start
|
system sh/exec_up.sh -n dnode2 -s start
|
||||||
sql create dnode 192.168.0.3
|
sql create dnode 192.168.0.3
|
||||||
system sh/exec.sh -n dnode3 -s start
|
system sh/exec_up.sh -n dnode3 -s start
|
||||||
sql create dnode 192.168.0.4
|
sql create dnode 192.168.0.4
|
||||||
system sh/exec.sh -n dnode4 -s start
|
system sh/exec_up.sh -n dnode4 -s start
|
||||||
sleep 3000
|
sleep 3000
|
||||||
|
|
||||||
print ======== step1
|
print ======== step1
|
||||||
|
@ -81,7 +81,7 @@ sql alter database d1 replica 3
|
||||||
sql alter database d2 replica 3
|
sql alter database d2 replica 3
|
||||||
sql alter database d3 replica 3
|
sql alter database d3 replica 3
|
||||||
sql alter database d4 replica 3
|
sql alter database d4 replica 3
|
||||||
sleep 12000
|
sleep 10000
|
||||||
|
|
||||||
print ======== step3
|
print ======== step3
|
||||||
$x = 0
|
$x = 0
|
||||||
|
@ -93,41 +93,25 @@ show3:
|
||||||
endi
|
endi
|
||||||
|
|
||||||
sql show dnodes
|
sql show dnodes
|
||||||
print dnode192.168.0.1 ==> openVnodes: $data2_192.168.0.1 freeVnodes: $data3_192.168.0.1
|
print dnode192.168.0.1 ==> openVnodes: $data3_1
|
||||||
print dnode192.168.0.2 ==> openVnodes: $data2_192.168.0.2 freeVnodes: $data3_192.168.0.2
|
print dnode192.168.0.2 ==> openVnodes: $data3_2
|
||||||
print dnode192.168.0.3 ==> openVnodes: $data2_192.168.0.3 freeVnodes: $data3_192.168.0.3
|
print dnode192.168.0.3 ==> openVnodes: $data3_3
|
||||||
print dnode192.168.0.4 ==> openVnodes: $data2_192.168.0.4 freeVnodes: $data3_192.168.0.4
|
print dnode192.168.0.4 ==> openVnodes: $data3_4
|
||||||
|
|
||||||
if $data2_192.168.0.1 != 0 then
|
if $data3_1 != 0 then
|
||||||
goto show3
|
return -1
|
||||||
endi
|
endi
|
||||||
|
|
||||||
if $data2_192.168.0.2 != 4 then
|
if $data3_2 != 4 then
|
||||||
goto show3
|
return -1
|
||||||
endi
|
endi
|
||||||
|
|
||||||
if $data2_192.168.0.3 != 4 then
|
if $data3_3 != 4 then
|
||||||
goto show3
|
return -1
|
||||||
endi
|
endi
|
||||||
|
|
||||||
if $data2_192.168.0.4 != 4 then
|
if $data3_3 != 4 then
|
||||||
goto show3
|
return -1
|
||||||
endi
|
|
||||||
|
|
||||||
if $data3_192.168.0.1 != 4 then
|
|
||||||
goto show3
|
|
||||||
endi
|
|
||||||
|
|
||||||
if $data3_192.168.0.2 != 0 then
|
|
||||||
goto show3
|
|
||||||
endi
|
|
||||||
|
|
||||||
if $data3_192.168.0.3 != 0 then
|
|
||||||
goto show3
|
|
||||||
endi
|
|
||||||
|
|
||||||
if $data3_192.168.0.4 != 0 then
|
|
||||||
goto show3
|
|
||||||
endi
|
endi
|
||||||
|
|
||||||
print ======== step4
|
print ======== step4
|
||||||
|
@ -156,10 +140,12 @@ if $rows != 2 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
|
|
||||||
sleep 10000
|
sql reset query cache
|
||||||
|
sleep 1000
|
||||||
|
|
||||||
print ========= step5
|
print ========= step5
|
||||||
system sh/exec.sh -n dnode2 -s stop -x SIGINT
|
system sh/exec_up.sh -n dnode2 -s stop -x SIGINT
|
||||||
sleep 3000
|
sleep 5000
|
||||||
|
|
||||||
sql insert into d1.t1 values(now, 3)
|
sql insert into d1.t1 values(now, 3)
|
||||||
sql insert into d2.t2 values(now, 3)
|
sql insert into d2.t2 values(now, 3)
|
||||||
|
@ -187,10 +173,10 @@ if $rows != 3 then
|
||||||
endi
|
endi
|
||||||
|
|
||||||
print ========= step6
|
print ========= step6
|
||||||
system sh/exec.sh -n dnode2 -s start
|
system sh/exec_up.sh -n dnode2 -s start
|
||||||
|
sleep 5000
|
||||||
|
system sh/exec_up.sh -n dnode3 -s stop -x SIGINT
|
||||||
sleep 5000
|
sleep 5000
|
||||||
system sh/exec.sh -n dnode3 -s stop -x SIGINT
|
|
||||||
sleep 3000
|
|
||||||
|
|
||||||
sql insert into d1.t1 values(now, 4)
|
sql insert into d1.t1 values(now, 4)
|
||||||
sql insert into d2.t2 values(now, 4)
|
sql insert into d2.t2 values(now, 4)
|
||||||
|
@ -218,10 +204,10 @@ if $rows != 4 then
|
||||||
endi
|
endi
|
||||||
|
|
||||||
print ========= step7
|
print ========= step7
|
||||||
system sh/exec.sh -n dnode3 -s start
|
system sh/exec_up.sh -n dnode3 -s start
|
||||||
|
sleep 5000
|
||||||
|
system sh/exec_up.sh -n dnode4 -s stop -x SIGINT
|
||||||
sleep 5000
|
sleep 5000
|
||||||
system sh/exec.sh -n dnode4 -s stop -x SIGINT
|
|
||||||
sleep 3000
|
|
||||||
|
|
||||||
sql insert into d1.t1 values(now, 5)
|
sql insert into d1.t1 values(now, 5)
|
||||||
sql insert into d2.t2 values(now, 5)
|
sql insert into d2.t2 values(now, 5)
|
||||||
|
@ -249,10 +235,10 @@ if $rows != 5 then
|
||||||
endi
|
endi
|
||||||
|
|
||||||
print ========= step8
|
print ========= step8
|
||||||
system sh/exec.sh -n dnode4 -s start
|
system sh/exec_up.sh -n dnode4 -s start
|
||||||
|
sleep 5000
|
||||||
|
system sh/exec_up.sh -n dnode2 -s stop -x SIGINT
|
||||||
sleep 5000
|
sleep 5000
|
||||||
system sh/exec.sh -n dnode2 -s stop -x SIGINT
|
|
||||||
sleep 3000
|
|
||||||
|
|
||||||
sql insert into d1.t1 values(now, 6)
|
sql insert into d1.t1 values(now, 6)
|
||||||
sql insert into d2.t2 values(now, 6)
|
sql insert into d2.t2 values(now, 6)
|
||||||
|
|
|
@ -20,12 +20,12 @@ system sh/cfg.sh -n dnode2 -c numOfTotalVnodes -v 4
|
||||||
system sh/cfg.sh -n dnode3 -c numOfTotalVnodes -v 4
|
system sh/cfg.sh -n dnode3 -c numOfTotalVnodes -v 4
|
||||||
|
|
||||||
print ========= start dnodes
|
print ========= start dnodes
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec_up.sh -n dnode1 -s start
|
||||||
sql connect
|
sql connect
|
||||||
sql create dnode 192.168.0.2
|
sql create dnode 192.168.0.2
|
||||||
system sh/exec.sh -n dnode2 -s start
|
system sh/exec_up.sh -n dnode2 -s start
|
||||||
sql create dnode 192.168.0.3
|
sql create dnode 192.168.0.3
|
||||||
system sh/exec.sh -n dnode3 -s start
|
system sh/exec_up.sh -n dnode3 -s start
|
||||||
sleep 3000
|
sleep 3000
|
||||||
|
|
||||||
print ======== step1
|
print ======== step1
|
||||||
|
@ -65,7 +65,7 @@ if $rows != 1 then
|
||||||
endi
|
endi
|
||||||
|
|
||||||
print ========= step2 alter db
|
print ========= step2 alter db
|
||||||
system sh/exec.sh -n dnode2 -s stop -x SIGINT
|
system sh/exec_up.sh -n dnode2 -s stop -x SIGINT
|
||||||
sleep 3000
|
sleep 3000
|
||||||
sql alter database d1 replica 2
|
sql alter database d1 replica 2
|
||||||
sql alter database d2 replica 2
|
sql alter database d2 replica 2
|
||||||
|
@ -74,7 +74,7 @@ sql alter database d4 replica 2
|
||||||
sleep 3000
|
sleep 3000
|
||||||
|
|
||||||
print ========= step3
|
print ========= step3
|
||||||
system sh/exec.sh -n dnode2 -s start
|
system sh/exec_up.sh -n dnode2 -s start
|
||||||
sleep 10000
|
sleep 10000
|
||||||
|
|
||||||
print ========= step4
|
print ========= step4
|
||||||
|
@ -104,7 +104,7 @@ if $rows != 2 then
|
||||||
endi
|
endi
|
||||||
|
|
||||||
print ========= step5
|
print ========= step5
|
||||||
system sh/exec.sh -n dnode2 -s stop -x SIGINT
|
system sh/exec_up.sh -n dnode2 -s stop -x SIGINT
|
||||||
sleep 3000
|
sleep 3000
|
||||||
|
|
||||||
sql insert into d1.t1 values(now, 3)
|
sql insert into d1.t1 values(now, 3)
|
||||||
|
@ -133,9 +133,9 @@ if $rows != 3 then
|
||||||
endi
|
endi
|
||||||
|
|
||||||
print ========= step6
|
print ========= step6
|
||||||
system sh/exec.sh -n dnode2 -s start
|
system sh/exec_up.sh -n dnode2 -s start
|
||||||
sleep 5000
|
sleep 5000
|
||||||
system sh/exec.sh -n dnode3 -s stop -x SIGINT
|
system sh/exec_up.sh -n dnode3 -s stop -x SIGINT
|
||||||
sleep 3000
|
sleep 3000
|
||||||
|
|
||||||
sql insert into d1.t1 values(now, 4)
|
sql insert into d1.t1 values(now, 4)
|
||||||
|
@ -164,9 +164,9 @@ if $rows != 4 then
|
||||||
endi
|
endi
|
||||||
|
|
||||||
print ========= step7
|
print ========= step7
|
||||||
system sh/exec.sh -n dnode3 -s start
|
system sh/exec_up.sh -n dnode3 -s start
|
||||||
sleep 5000
|
sleep 5000
|
||||||
system sh/exec.sh -n dnode2 -s stop -x SIGINT
|
system sh/exec_up.sh -n dnode2 -s stop -x SIGINT
|
||||||
sleep 3000
|
sleep 3000
|
||||||
|
|
||||||
sql insert into d1.t1 values(now, 5)
|
sql insert into d1.t1 values(now, 5)
|
||||||
|
|
|
@ -20,10 +20,10 @@ system sh/cfg.sh -n dnode2 -c numOfTotalVnodes -v 4
|
||||||
system sh/cfg.sh -n dnode3 -c numOfTotalVnodes -v 4
|
system sh/cfg.sh -n dnode3 -c numOfTotalVnodes -v 4
|
||||||
|
|
||||||
print ========= start dnodes
|
print ========= start dnodes
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec_up.sh -n dnode1 -s start
|
||||||
sql connect
|
sql connect
|
||||||
sql create dnode 192.168.0.2
|
sql create dnode 192.168.0.2
|
||||||
system sh/exec.sh -n dnode2 -s start
|
system sh/exec_up.sh -n dnode2 -s start
|
||||||
sleep 3000
|
sleep 3000
|
||||||
|
|
||||||
print ======== step1
|
print ======== step1
|
||||||
|
@ -70,7 +70,7 @@ error1:
|
||||||
|
|
||||||
print ========= step3 alter d1
|
print ========= step3 alter d1
|
||||||
sql alter database d1 replica 1
|
sql alter database d1 replica 1
|
||||||
sleep 8000
|
sleep 12000
|
||||||
|
|
||||||
print ========= step4 query d1
|
print ========= step4 query d1
|
||||||
sql insert into d1.t1 values(now, 2)
|
sql insert into d1.t1 values(now, 2)
|
||||||
|
@ -86,16 +86,12 @@ sql select * from d5.t5
|
||||||
if $rows != 1 then
|
if $rows != 1 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
|
return
|
||||||
print ========= step6 alter d5
|
|
||||||
sql alter database d5 replica 2 -x error2
|
|
||||||
return -1
|
|
||||||
error2:
|
|
||||||
|
|
||||||
print ========= step7 drop d1
|
print ========= step7 drop d1
|
||||||
sql drop database d1
|
sql drop database d1
|
||||||
sleep 12000
|
sleep 5000
|
||||||
|
|
||||||
|
sql reset query cache
|
||||||
print ========= step8
|
print ========= step8
|
||||||
sql insert into d5.t5 values(now, 2)
|
sql insert into d5.t5 values(now, 2)
|
||||||
sql insert into d2.t2 values(now, 2)
|
sql insert into d2.t2 values(now, 2)
|
||||||
|
@ -123,7 +119,7 @@ if $rows != 2 then
|
||||||
endi
|
endi
|
||||||
|
|
||||||
print ======== step9 stop dnode2
|
print ======== step9 stop dnode2
|
||||||
system sh/exec.sh -n dnode2 -s stop -x SIGINT
|
system sh/exec_up.sh -n dnode2 -s stop -x SIGINT
|
||||||
sleep 3000
|
sleep 3000
|
||||||
|
|
||||||
sql insert into d5.t5 values(now, 3)
|
sql insert into d5.t5 values(now, 3)
|
||||||
|
|
|
@ -20,12 +20,12 @@ system sh/cfg.sh -n dnode2 -c numOfTotalVnodes -v 4
|
||||||
system sh/cfg.sh -n dnode3 -c numOfTotalVnodes -v 4
|
system sh/cfg.sh -n dnode3 -c numOfTotalVnodes -v 4
|
||||||
|
|
||||||
print ========= start dnodes
|
print ========= start dnodes
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec_up.sh -n dnode1 -s start
|
||||||
sql connect
|
sql connect
|
||||||
sql create dnode 192.168.0.2
|
sql create dnode 192.168.0.2
|
||||||
system sh/exec.sh -n dnode2 -s start
|
system sh/exec_up.sh -n dnode2 -s start
|
||||||
sql create dnode 192.168.0.3
|
sql create dnode 192.168.0.3
|
||||||
system sh/exec.sh -n dnode3 -s start
|
system sh/exec_up.sh -n dnode3 -s start
|
||||||
sleep 3000
|
sleep 3000
|
||||||
|
|
||||||
print ======== step1
|
print ======== step1
|
||||||
|
@ -39,8 +39,8 @@ sql create table d2.t2 (ts timestamp, i int)
|
||||||
sql create table d3.t3 (ts timestamp, i int)
|
sql create table d3.t3 (ts timestamp, i int)
|
||||||
sql create table d4.t4 (ts timestamp, i int)
|
sql create table d4.t4 (ts timestamp, i int)
|
||||||
|
|
||||||
sql insert into d2.t2 values(now, 1)
|
|
||||||
sql insert into d1.t1 values(now, 1)
|
sql insert into d1.t1 values(now, 1)
|
||||||
|
sql insert into d2.t2 values(now, 1)
|
||||||
sql insert into d3.t3 values(now, 1)
|
sql insert into d3.t3 values(now, 1)
|
||||||
sql insert into d4.t4 values(now, 1)
|
sql insert into d4.t4 values(now, 1)
|
||||||
|
|
||||||
|
@ -65,9 +65,13 @@ if $rows != 1 then
|
||||||
endi
|
endi
|
||||||
|
|
||||||
print ========= step2 alter db
|
print ========= step2 alter db
|
||||||
sql alter database d1 replica 1
|
sql_error alter database d1 replica 1
|
||||||
sql alter database d2 replica 1
|
sql_error alter database d2 replica 1
|
||||||
sql alter database d3 replica 1
|
sql_error alter database d3 replica 1
|
||||||
|
sql alter database d1 replica 2
|
||||||
|
sql alter database d2 replica 2
|
||||||
|
sql alter database d3 replica 2
|
||||||
|
|
||||||
sleep 12000
|
sleep 12000
|
||||||
|
|
||||||
print ========= step3
|
print ========= step3
|
||||||
|
@ -128,7 +132,7 @@ if $rows != 3 then
|
||||||
endi
|
endi
|
||||||
|
|
||||||
print ========= step4
|
print ========= step4
|
||||||
system sh/exec.sh -n dnode2 -s stop -x SIGINT
|
system sh/exec_up.sh -n dnode2 -s stop -x SIGINT
|
||||||
sleep 3000
|
sleep 3000
|
||||||
|
|
||||||
sql insert into d1.t1 values(now, 4)
|
sql insert into d1.t1 values(now, 4)
|
||||||
|
@ -158,9 +162,9 @@ endi
|
||||||
|
|
||||||
|
|
||||||
print ========= step5
|
print ========= step5
|
||||||
system sh/exec.sh -n dnode2 -s start
|
system sh/exec_up.sh -n dnode2 -s start
|
||||||
sleep 5000
|
sleep 5000
|
||||||
system sh/exec.sh -n dnode3 -s stop -x SIGINT
|
system sh/exec_up.sh -n dnode3 -s stop -x SIGINT
|
||||||
sleep 3000
|
sleep 3000
|
||||||
|
|
||||||
sql insert into d1.t1 values(now, 5)
|
sql insert into d1.t1 values(now, 5)
|
||||||
|
@ -190,9 +194,9 @@ endi
|
||||||
|
|
||||||
|
|
||||||
print ========= step6
|
print ========= step6
|
||||||
system sh/exec.sh -n dnode3 -s start
|
system sh/exec_up.sh -n dnode3 -s start
|
||||||
sleep 5000
|
sleep 5000
|
||||||
system sh/exec.sh -n dnode2 -s stop -x SIGINT
|
system sh/exec_up.sh -n dnode2 -s stop -x SIGINT
|
||||||
sleep 3000
|
sleep 3000
|
||||||
sql insert into d1.t1 values(now, 6)
|
sql insert into d1.t1 values(now, 6)
|
||||||
sql insert into d2.t2 values(now, 6)
|
sql insert into d2.t2 values(now, 6)
|
||||||
|
|
|
@ -20,12 +20,12 @@ system sh/cfg.sh -n dnode2 -c numOfTotalVnodes -v 4
|
||||||
system sh/cfg.sh -n dnode3 -c numOfTotalVnodes -v 4
|
system sh/cfg.sh -n dnode3 -c numOfTotalVnodes -v 4
|
||||||
|
|
||||||
print ========= start dnodes
|
print ========= start dnodes
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec_up.sh -n dnode1 -s start
|
||||||
sql connect
|
sql connect
|
||||||
sql create dnode 192.168.0.2
|
sql create dnode 192.168.0.2
|
||||||
system sh/exec.sh -n dnode2 -s start
|
system sh/exec_up.sh -n dnode2 -s start
|
||||||
sql create dnode 192.168.0.3
|
sql create dnode 192.168.0.3
|
||||||
system sh/exec.sh -n dnode3 -s start
|
system sh/exec_up.sh -n dnode3 -s start
|
||||||
sleep 3000
|
sleep 3000
|
||||||
|
|
||||||
print ======== step1
|
print ======== step1
|
||||||
|
@ -68,6 +68,7 @@ print ========= step2 alter db
|
||||||
sql alter database d1 replica 2
|
sql alter database d1 replica 2
|
||||||
sql alter database d2 replica 2
|
sql alter database d2 replica 2
|
||||||
sql alter database d3 replica 2
|
sql alter database d3 replica 2
|
||||||
|
sql alter database d4 replica 2
|
||||||
sleep 12000
|
sleep 12000
|
||||||
|
|
||||||
print ========= step3
|
print ========= step3
|
||||||
|
@ -95,10 +96,11 @@ sql select * from d4.t4
|
||||||
if $rows != 2 then
|
if $rows != 2 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
|
return
|
||||||
|
|
||||||
print ========= step4
|
print ========= step4
|
||||||
system sh/exec.sh -n dnode2 -s stop -x SIGINT
|
system sh/exec_up.sh -n dnode2 -s stop -x SIGINT
|
||||||
sleep 3000
|
sleep 5000
|
||||||
|
|
||||||
sql insert into d1.t1 values(now, 3)
|
sql insert into d1.t1 values(now, 3)
|
||||||
sql insert into d2.t2 values(now, 3)
|
sql insert into d2.t2 values(now, 3)
|
||||||
|
@ -126,10 +128,13 @@ if $rows != 3 then
|
||||||
endi
|
endi
|
||||||
|
|
||||||
print ========= step5
|
print ========= step5
|
||||||
system sh/exec.sh -n dnode2 -s start
|
system sh/exec_up.sh -n dnode2 -s start
|
||||||
sleep 5000
|
sleep 5000
|
||||||
system sh/exec.sh -n dnode3 -s stop -x SIGINT
|
system sh/exec_up.sh -n dnode3 -s stop -x SIGINT
|
||||||
sleep 3000
|
sleep 5000
|
||||||
|
|
||||||
|
sql reset query cache
|
||||||
|
sleep 1000
|
||||||
|
|
||||||
sql insert into d1.t1 values(now, 4)
|
sql insert into d1.t1 values(now, 4)
|
||||||
sql insert into d2.t2 values(now, 4)
|
sql insert into d2.t2 values(now, 4)
|
||||||
|
@ -157,9 +162,9 @@ if $rows != 4 then
|
||||||
endi
|
endi
|
||||||
|
|
||||||
print ========= step6
|
print ========= step6
|
||||||
system sh/exec.sh -n dnode3 -s start
|
system sh/exec_up.sh -n dnode3 -s start
|
||||||
sleep 5000
|
sleep 5000
|
||||||
system sh/exec.sh -n dnode2 -s stop -x SIGINT
|
system sh/exec_up.sh -n dnode2 -s stop -x SIGINT
|
||||||
sleep 3000
|
sleep 3000
|
||||||
|
|
||||||
sql insert into d1.t1 values(now, 5)
|
sql insert into d1.t1 values(now, 5)
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
#run unique/db/commit.sim
|
#run unique/db/commit.sim
|
||||||
run unique/db/delete.sim
|
#run unique/db/delete.sim
|
||||||
run unique/db/replica_add12.sim
|
run unique/db/replica_add12.sim
|
||||||
run unique/db/replica_add13.sim
|
run unique/db/replica_add13.sim
|
||||||
run unique/db/replica_add23.sim
|
run unique/db/replica_add23.sim
|
||||||
run unique/db/replica_reduce21.sim
|
run unique/db/replica_reduce21.sim
|
||||||
run unique/db/replica_reduce32.sim
|
run unique/db/replica_reduce32.sim
|
||||||
run unique/db/replica_reduce31.sim
|
run unique/db/replica_reduce31.sim
|
||||||
run unique/db/replica_part.sim
|
#run unique/db/replica_part.sim
|
||||||
run unique/db/delete_part.sim
|
#run unique/db/delete_part.sim
|
||||||
|
|
|
@ -160,7 +160,7 @@ extern SCommand simCmdList[];
|
||||||
extern int simScriptPos;
|
extern int simScriptPos;
|
||||||
extern int simScriptSucced;
|
extern int simScriptSucced;
|
||||||
extern int simDebugFlag;
|
extern int simDebugFlag;
|
||||||
extern char scriptDir[];
|
extern char tsScriptDir[];
|
||||||
extern bool simAsyncQuery;
|
extern bool simAsyncQuery;
|
||||||
|
|
||||||
SScript *simParseScript(char *fileName);
|
SScript *simParseScript(char *fileName);
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
void simLogSql(char *sql) {
|
void simLogSql(char *sql) {
|
||||||
static FILE *fp = NULL;
|
static FILE *fp = NULL;
|
||||||
char filename[256];
|
char filename[256];
|
||||||
sprintf(filename, "%s/sim.sql", scriptDir);
|
sprintf(filename, "%s/sim.sql", tsScriptDir);
|
||||||
if (fp == NULL) {
|
if (fp == NULL) {
|
||||||
fp = fopen(filename, "w");
|
fp = fopen(filename, "w");
|
||||||
if (fp == NULL) {
|
if (fp == NULL) {
|
||||||
|
@ -270,7 +270,7 @@ bool simExecuteRunBackCmd(SScript *script, char *option) {
|
||||||
bool simExecuteSystemCmd(SScript *script, char *option) {
|
bool simExecuteSystemCmd(SScript *script, char *option) {
|
||||||
char buf[4096] = {0};
|
char buf[4096] = {0};
|
||||||
|
|
||||||
sprintf(buf, "cd %s; ", scriptDir);
|
sprintf(buf, "cd %s; ", tsScriptDir);
|
||||||
simVisuallizeOption(script, option, buf + strlen(buf));
|
simVisuallizeOption(script, option, buf + strlen(buf));
|
||||||
|
|
||||||
int code = system(buf);
|
int code = system(buf);
|
||||||
|
@ -306,9 +306,9 @@ void simStoreSystemContentResult(SScript *script, char *filename) {
|
||||||
bool simExecuteSystemContentCmd(SScript *script, char *option) {
|
bool simExecuteSystemContentCmd(SScript *script, char *option) {
|
||||||
char buf[4096] = {0};
|
char buf[4096] = {0};
|
||||||
char filename[400] = {0};
|
char filename[400] = {0};
|
||||||
sprintf(filename, "%s/%s.tmp", scriptDir, script->fileName);
|
sprintf(filename, "%s/%s.tmp", tsScriptDir, script->fileName);
|
||||||
|
|
||||||
sprintf(buf, "cd %s; ", scriptDir);
|
sprintf(buf, "cd %s; ", tsScriptDir);
|
||||||
simVisuallizeOption(script, option, buf + strlen(buf));
|
simVisuallizeOption(script, option, buf + strlen(buf));
|
||||||
sprintf(buf, "%s > %s 2>/dev/null", buf, filename);
|
sprintf(buf, "%s > %s 2>/dev/null", buf, filename);
|
||||||
|
|
||||||
|
|
|
@ -186,7 +186,7 @@ SScript *simParseScript(char *fileName) {
|
||||||
if ((fileName[0] == '.') || (fileName[0] == '/')) {
|
if ((fileName[0] == '.') || (fileName[0] == '/')) {
|
||||||
strcpy(name, fileName);
|
strcpy(name, fileName);
|
||||||
} else {
|
} else {
|
||||||
sprintf(name, "%s/%s", scriptDir, fileName);
|
sprintf(name, "%s/%s", tsScriptDir, fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((fd = fopen(name, "r")) == NULL) {
|
if ((fd = fopen(name, "r")) == NULL) {
|
||||||
|
|
Loading…
Reference in New Issue