Merge pull request #5204 from taosdata/hotfix/TD-2964
[TD-2964]add check for tmp directory
This commit is contained in:
commit
0dddfb3dce
|
@ -52,7 +52,9 @@ static bool validPassword(const char* passwd) {
|
||||||
|
|
||||||
static SSqlObj *taosConnectImpl(const char *ip, const char *user, const char *pass, const char *auth, const char *db,
|
static SSqlObj *taosConnectImpl(const char *ip, const char *user, const char *pass, const char *auth, const char *db,
|
||||||
uint16_t port, void (*fp)(void *, TAOS_RES *, int), void *param, TAOS **taos) {
|
uint16_t port, void (*fp)(void *, TAOS_RES *, int), void *param, TAOS **taos) {
|
||||||
taos_init();
|
if (taos_init()) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
if (!validUserName(user)) {
|
if (!validUserName(user)) {
|
||||||
terrno = TSDB_CODE_TSC_INVALID_USER_LENGTH;
|
terrno = TSDB_CODE_TSC_INVALID_USER_LENGTH;
|
||||||
|
|
|
@ -47,6 +47,7 @@ void *tscRpcCache; // cache to keep rpc obj
|
||||||
int32_t tscNumOfThreads = 1; // num of rpc threads
|
int32_t tscNumOfThreads = 1; // num of rpc threads
|
||||||
static pthread_mutex_t rpcObjMutex; // mutex to protect open the rpc obj concurrently
|
static pthread_mutex_t rpcObjMutex; // mutex to protect open the rpc obj concurrently
|
||||||
static pthread_once_t tscinit = PTHREAD_ONCE_INIT;
|
static pthread_once_t tscinit = PTHREAD_ONCE_INIT;
|
||||||
|
static volatile int tscInitRes = 0;
|
||||||
|
|
||||||
void tscCheckDiskUsage(void *UNUSED_PARAM(para), void *UNUSED_PARAM(param)) {
|
void tscCheckDiskUsage(void *UNUSED_PARAM(para), void *UNUSED_PARAM(param)) {
|
||||||
taosGetDisk();
|
taosGetDisk();
|
||||||
|
@ -137,7 +138,11 @@ void taos_init_imp(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
taosReadGlobalCfg();
|
taosReadGlobalCfg();
|
||||||
taosCheckGlobalCfg();
|
if (taosCheckGlobalCfg()) {
|
||||||
|
tscInitRes = -1;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
taosInitNotes();
|
taosInitNotes();
|
||||||
|
|
||||||
rpcInit();
|
rpcInit();
|
||||||
|
@ -159,6 +164,7 @@ void taos_init_imp(void) {
|
||||||
tscQhandle = taosInitScheduler(queueSize, tscNumOfThreads, "tsc");
|
tscQhandle = taosInitScheduler(queueSize, tscNumOfThreads, "tsc");
|
||||||
if (NULL == tscQhandle) {
|
if (NULL == tscQhandle) {
|
||||||
tscError("failed to init scheduler");
|
tscError("failed to init scheduler");
|
||||||
|
tscInitRes = -1;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -187,7 +193,7 @@ void taos_init_imp(void) {
|
||||||
tscDebug("client is initialized successfully");
|
tscDebug("client is initialized successfully");
|
||||||
}
|
}
|
||||||
|
|
||||||
void taos_init() { pthread_once(&tscinit, taos_init_imp); }
|
int taos_init() { pthread_once(&tscinit, taos_init_imp); return tscInitRes;}
|
||||||
|
|
||||||
// this function may be called by user or system, or by both simultaneously.
|
// this function may be called by user or system, or by both simultaneously.
|
||||||
void taos_cleanup(void) {
|
void taos_cleanup(void) {
|
||||||
|
|
|
@ -373,6 +373,23 @@ static void taosCheckDataDirCfg() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int32_t taosCheckTmpDir(void) {
|
||||||
|
if (strlen(tsTempDir) <= 0){
|
||||||
|
uError("tempDir is not set");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
DIR *dir = opendir(tsTempDir);
|
||||||
|
if (dir == NULL) {
|
||||||
|
uError("can not open tempDir:%s, error:%s", tsTempDir, strerror(errno));
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
closedir(dir);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static void doInitGlobalConfig(void) {
|
static void doInitGlobalConfig(void) {
|
||||||
osInit();
|
osInit();
|
||||||
srand(taosSafeRand());
|
srand(taosSafeRand());
|
||||||
|
@ -1488,6 +1505,11 @@ int32_t taosCheckGlobalCfg() {
|
||||||
}
|
}
|
||||||
|
|
||||||
taosCheckDataDirCfg();
|
taosCheckDataDirCfg();
|
||||||
|
|
||||||
|
if (taosCheckTmpDir()) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
taosGetSystemInfo();
|
taosGetSystemInfo();
|
||||||
|
|
||||||
tsSetLocale();
|
tsSetLocale();
|
||||||
|
|
|
@ -68,7 +68,7 @@ typedef struct taosField {
|
||||||
#define DLL_EXPORT
|
#define DLL_EXPORT
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
DLL_EXPORT void taos_init();
|
DLL_EXPORT int taos_init();
|
||||||
DLL_EXPORT void taos_cleanup(void);
|
DLL_EXPORT void taos_cleanup(void);
|
||||||
DLL_EXPORT int taos_options(TSDB_OPTION option, const void *arg, ...);
|
DLL_EXPORT int taos_options(TSDB_OPTION option, const void *arg, ...);
|
||||||
DLL_EXPORT TAOS *taos_connect(const char *ip, const char *user, const char *pass, const char *db, uint16_t port);
|
DLL_EXPORT TAOS *taos_connect(const char *ip, const char *user, const char *pass, const char *db, uint16_t port);
|
||||||
|
|
|
@ -76,7 +76,11 @@ TAOS *shellInit(SShellArguments *args) {
|
||||||
args->user = TSDB_DEFAULT_USER;
|
args->user = TSDB_DEFAULT_USER;
|
||||||
}
|
}
|
||||||
|
|
||||||
taos_init();
|
if (taos_init()) {
|
||||||
|
printf("failed to init taos\n");
|
||||||
|
fflush(stdout);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
// Connect to the database.
|
// Connect to the database.
|
||||||
TAOS *con = NULL;
|
TAOS *con = NULL;
|
||||||
|
|
|
@ -110,7 +110,10 @@ int main(int argc, char* argv[]) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (args.netTestRole && args.netTestRole[0] != 0) {
|
if (args.netTestRole && args.netTestRole[0] != 0) {
|
||||||
taos_init();
|
if (taos_init()) {
|
||||||
|
printf("Failed to init taos");
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
}
|
||||||
taosNetTest(args.netTestRole, args.host, args.port, args.pktLen);
|
taosNetTest(args.netTestRole, args.host, args.port, args.pktLen);
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
|
@ -711,7 +711,11 @@ int main(int argc, char *argv[]) {
|
||||||
fprintf(fp, "###################################################################\n\n");
|
fprintf(fp, "###################################################################\n\n");
|
||||||
fprintf(fp, "| WRecords | Records/Second | Requests/Second | WLatency(ms) |\n");
|
fprintf(fp, "| WRecords | Records/Second | Requests/Second | WLatency(ms) |\n");
|
||||||
|
|
||||||
taos_init();
|
if (taos_init()) {
|
||||||
|
fprintf(stderr, "Failed to init taos\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
TAOS *taos = taos_connect(ip_addr, user, pass, NULL, port);
|
TAOS *taos = taos_connect(ip_addr, user, pass, NULL, port);
|
||||||
if (taos == NULL) {
|
if (taos == NULL) {
|
||||||
fprintf(stderr, "Failed to connect to TDengine, reason:%s\n", taos_errstr(NULL));
|
fprintf(stderr, "Failed to connect to TDengine, reason:%s\n", taos_errstr(NULL));
|
||||||
|
|
|
@ -1971,7 +1971,11 @@ static int createSuperTable(TAOS * taos, char* dbName, SSuperTable* superTbls,
|
||||||
static int createDatabases() {
|
static int createDatabases() {
|
||||||
TAOS * taos = NULL;
|
TAOS * taos = NULL;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
taos_init();
|
if (taos_init()) {
|
||||||
|
fprintf(stderr, "Failed to init taos\n");
|
||||||
|
exit(-1);
|
||||||
|
}
|
||||||
|
|
||||||
taos = taos_connect(g_Dbs.host, g_Dbs.user, g_Dbs.password, NULL, g_Dbs.port);
|
taos = taos_connect(g_Dbs.host, g_Dbs.user, g_Dbs.password, NULL, g_Dbs.port);
|
||||||
if (taos == NULL) {
|
if (taos == NULL) {
|
||||||
fprintf(stderr, "Failed to connect to TDengine, reason:%s\n", taos_errstr(NULL));
|
fprintf(stderr, "Failed to connect to TDengine, reason:%s\n", taos_errstr(NULL));
|
||||||
|
@ -4496,7 +4500,11 @@ void *subQueryProcess(void *sarg) {
|
||||||
|
|
||||||
int queryTestProcess() {
|
int queryTestProcess() {
|
||||||
TAOS * taos = NULL;
|
TAOS * taos = NULL;
|
||||||
taos_init();
|
if (taos_init()) {
|
||||||
|
fprintf(stderr, "Failed to init taos\n");
|
||||||
|
exit(-1);
|
||||||
|
}
|
||||||
|
|
||||||
taos = taos_connect(g_queryInfo.host, g_queryInfo.user, g_queryInfo.password, NULL, g_queryInfo.port);
|
taos = taos_connect(g_queryInfo.host, g_queryInfo.user, g_queryInfo.password, NULL, g_queryInfo.port);
|
||||||
if (taos == NULL) {
|
if (taos == NULL) {
|
||||||
fprintf(stderr, "Failed to connect to TDengine, reason:%s\n", taos_errstr(NULL));
|
fprintf(stderr, "Failed to connect to TDengine, reason:%s\n", taos_errstr(NULL));
|
||||||
|
@ -4772,7 +4780,11 @@ int subscribeTestProcess() {
|
||||||
}
|
}
|
||||||
|
|
||||||
TAOS * taos = NULL;
|
TAOS * taos = NULL;
|
||||||
taos_init();
|
if (taos_init()) {
|
||||||
|
fprintf(stderr, "Failed to init taos\n");
|
||||||
|
exit(-1);
|
||||||
|
}
|
||||||
|
|
||||||
taos = taos_connect(g_queryInfo.host, g_queryInfo.user, g_queryInfo.password, g_queryInfo.dbName, g_queryInfo.port);
|
taos = taos_connect(g_queryInfo.host, g_queryInfo.user, g_queryInfo.password, g_queryInfo.dbName, g_queryInfo.port);
|
||||||
if (taos == NULL) {
|
if (taos == NULL) {
|
||||||
fprintf(stderr, "Failed to connect to TDengine, reason:%s\n", taos_errstr(NULL));
|
fprintf(stderr, "Failed to connect to TDengine, reason:%s\n", taos_errstr(NULL));
|
||||||
|
|
|
@ -103,7 +103,9 @@ int32_t monInitSystem() {
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t monStartSystem() {
|
int32_t monStartSystem() {
|
||||||
taos_init();
|
if (taos_init()) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
tsMonitor.start = 1;
|
tsMonitor.start = 1;
|
||||||
monExecuteSQLFp = monExecuteSQL;
|
monExecuteSQLFp = monExecuteSQL;
|
||||||
monInfo("monitor module start");
|
monInfo("monitor module start");
|
||||||
|
|
|
@ -62,7 +62,10 @@ int main(int argc, char *argv[]) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// init TAOS
|
// init TAOS
|
||||||
taos_init();
|
if (taos_init()) {
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
TAOS *taos = taos_connect(argv[1], "root", "taosdata", NULL, 0);
|
TAOS *taos = taos_connect(argv[1], "root", "taosdata", NULL, 0);
|
||||||
if (taos == NULL) {
|
if (taos == NULL) {
|
||||||
printf("failed to connect to server, reason:%s\n", "null taos"/*taos_errstr(taos)*/);
|
printf("failed to connect to server, reason:%s\n", "null taos"/*taos_errstr(taos)*/);
|
||||||
|
|
|
@ -23,7 +23,10 @@ int main(int argc, char *argv[])
|
||||||
}
|
}
|
||||||
|
|
||||||
// init TAOS
|
// init TAOS
|
||||||
taos_init();
|
if (taos_init()) {
|
||||||
|
printf("failed to init taos\n");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
taos = taos_connect(argv[1], "root", "taosdata", NULL, 0);
|
taos = taos_connect(argv[1], "root", "taosdata", NULL, 0);
|
||||||
if (taos == NULL) {
|
if (taos == NULL) {
|
||||||
|
|
|
@ -55,7 +55,10 @@ int main(int argc, char *argv[])
|
||||||
}
|
}
|
||||||
|
|
||||||
// init TAOS
|
// init TAOS
|
||||||
taos_init();
|
if (taos_init()) {
|
||||||
|
printf("failed to init taos\n");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
strcpy(db_name, argv[2]);
|
strcpy(db_name, argv[2]);
|
||||||
strcpy(tbl_name, argv[3]);
|
strcpy(tbl_name, argv[3]);
|
||||||
|
|
|
@ -217,7 +217,10 @@ int main(int argc, char *argv[]) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// init TAOS
|
// init TAOS
|
||||||
taos_init();
|
if (taos_init()) {
|
||||||
|
printf("failed to init taos\n");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
TAOS* taos = taos_connect(host, user, passwd, "", 0);
|
TAOS* taos = taos_connect(host, user, passwd, "", 0);
|
||||||
if (taos == NULL) {
|
if (taos == NULL) {
|
||||||
|
|
|
@ -81,7 +81,9 @@ char *simParseHostName(char *varName) {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool simSystemInit() {
|
bool simSystemInit() {
|
||||||
taos_init();
|
if (taos_init()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
taosGetFqdn(simHostName);
|
taosGetFqdn(simHostName);
|
||||||
simInitsimCmdList();
|
simInitsimCmdList();
|
||||||
memset(simScriptList, 0, sizeof(SScript *) * MAX_MAIN_SCRIPT_NUM);
|
memset(simScriptList, 0, sizeof(SScript *) * MAX_MAIN_SCRIPT_NUM);
|
||||||
|
|
Loading…
Reference in New Issue