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,
|
||||
uint16_t port, void (*fp)(void *, TAOS_RES *, int), void *param, TAOS **taos) {
|
||||
taos_init();
|
||||
if (taos_init()) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (!validUserName(user)) {
|
||||
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
|
||||
static pthread_mutex_t rpcObjMutex; // mutex to protect open the rpc obj concurrently
|
||||
static pthread_once_t tscinit = PTHREAD_ONCE_INIT;
|
||||
static volatile int tscInitRes = 0;
|
||||
|
||||
void tscCheckDiskUsage(void *UNUSED_PARAM(para), void *UNUSED_PARAM(param)) {
|
||||
taosGetDisk();
|
||||
|
@ -137,7 +138,11 @@ void taos_init_imp(void) {
|
|||
}
|
||||
|
||||
taosReadGlobalCfg();
|
||||
taosCheckGlobalCfg();
|
||||
if (taosCheckGlobalCfg()) {
|
||||
tscInitRes = -1;
|
||||
return;
|
||||
}
|
||||
|
||||
taosInitNotes();
|
||||
|
||||
rpcInit();
|
||||
|
@ -159,6 +164,7 @@ void taos_init_imp(void) {
|
|||
tscQhandle = taosInitScheduler(queueSize, tscNumOfThreads, "tsc");
|
||||
if (NULL == tscQhandle) {
|
||||
tscError("failed to init scheduler");
|
||||
tscInitRes = -1;
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -187,7 +193,7 @@ void taos_init_imp(void) {
|
|||
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.
|
||||
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) {
|
||||
osInit();
|
||||
srand(taosSafeRand());
|
||||
|
@ -1488,6 +1505,11 @@ int32_t taosCheckGlobalCfg() {
|
|||
}
|
||||
|
||||
taosCheckDataDirCfg();
|
||||
|
||||
if (taosCheckTmpDir()) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
taosGetSystemInfo();
|
||||
|
||||
tsSetLocale();
|
||||
|
|
|
@ -68,7 +68,7 @@ typedef struct taosField {
|
|||
#define DLL_EXPORT
|
||||
#endif
|
||||
|
||||
DLL_EXPORT void taos_init();
|
||||
DLL_EXPORT int taos_init();
|
||||
DLL_EXPORT void taos_cleanup(void);
|
||||
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);
|
||||
|
|
|
@ -76,7 +76,11 @@ TAOS *shellInit(SShellArguments *args) {
|
|||
args->user = TSDB_DEFAULT_USER;
|
||||
}
|
||||
|
||||
taos_init();
|
||||
if (taos_init()) {
|
||||
printf("failed to init taos\n");
|
||||
fflush(stdout);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
// Connect to the database.
|
||||
TAOS *con = NULL;
|
||||
|
|
|
@ -110,7 +110,10 @@ int main(int argc, char* argv[]) {
|
|||
}
|
||||
|
||||
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);
|
||||
exit(0);
|
||||
}
|
||||
|
|
|
@ -711,7 +711,11 @@ int main(int argc, char *argv[]) {
|
|||
fprintf(fp, "###################################################################\n\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);
|
||||
if (taos == 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() {
|
||||
TAOS * taos = NULL;
|
||||
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);
|
||||
if (taos == NULL) {
|
||||
fprintf(stderr, "Failed to connect to TDengine, reason:%s\n", taos_errstr(NULL));
|
||||
|
@ -4496,7 +4500,11 @@ void *subQueryProcess(void *sarg) {
|
|||
|
||||
int queryTestProcess() {
|
||||
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);
|
||||
if (taos == NULL) {
|
||||
fprintf(stderr, "Failed to connect to TDengine, reason:%s\n", taos_errstr(NULL));
|
||||
|
@ -4772,7 +4780,11 @@ int subscribeTestProcess() {
|
|||
}
|
||||
|
||||
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);
|
||||
if (taos == NULL) {
|
||||
fprintf(stderr, "Failed to connect to TDengine, reason:%s\n", taos_errstr(NULL));
|
||||
|
|
|
@ -103,7 +103,9 @@ int32_t monInitSystem() {
|
|||
}
|
||||
|
||||
int32_t monStartSystem() {
|
||||
taos_init();
|
||||
if (taos_init()) {
|
||||
return -1;
|
||||
}
|
||||
tsMonitor.start = 1;
|
||||
monExecuteSQLFp = monExecuteSQL;
|
||||
monInfo("monitor module start");
|
||||
|
|
|
@ -62,7 +62,10 @@ int main(int argc, char *argv[]) {
|
|||
}
|
||||
|
||||
// init TAOS
|
||||
taos_init();
|
||||
if (taos_init()) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
TAOS *taos = taos_connect(argv[1], "root", "taosdata", NULL, 0);
|
||||
if (taos == NULL) {
|
||||
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
|
||||
taos_init();
|
||||
if (taos_init()) {
|
||||
printf("failed to init taos\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
taos = taos_connect(argv[1], "root", "taosdata", NULL, 0);
|
||||
if (taos == NULL) {
|
||||
|
|
|
@ -55,7 +55,10 @@ int main(int argc, char *argv[])
|
|||
}
|
||||
|
||||
// init TAOS
|
||||
taos_init();
|
||||
if (taos_init()) {
|
||||
printf("failed to init taos\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
strcpy(db_name, argv[2]);
|
||||
strcpy(tbl_name, argv[3]);
|
||||
|
|
|
@ -217,7 +217,10 @@ int main(int argc, char *argv[]) {
|
|||
}
|
||||
|
||||
// init TAOS
|
||||
taos_init();
|
||||
if (taos_init()) {
|
||||
printf("failed to init taos\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
TAOS* taos = taos_connect(host, user, passwd, "", 0);
|
||||
if (taos == NULL) {
|
||||
|
|
|
@ -81,7 +81,9 @@ char *simParseHostName(char *varName) {
|
|||
}
|
||||
|
||||
bool simSystemInit() {
|
||||
taos_init();
|
||||
if (taos_init()) {
|
||||
return false;
|
||||
}
|
||||
taosGetFqdn(simHostName);
|
||||
simInitsimCmdList();
|
||||
memset(simScriptList, 0, sizeof(SScript *) * MAX_MAIN_SCRIPT_NUM);
|
||||
|
|
Loading…
Reference in New Issue