diff --git a/source/common/src/cos.c b/source/common/src/cos.c index b249d3eff2..26c936c48d 100644 --- a/source/common/src/cos.c +++ b/source/common/src/cos.c @@ -27,6 +27,8 @@ static S3UriStyle uriStyleG = S3UriStylePath; static int retriesG = 5; static int timeoutMsG = 0; +extern int8_t tsS3Oss; + int32_t s3Begin() { S3Status status; const char *hostname = tsS3Hostname; @@ -42,6 +44,9 @@ int32_t s3Begin() { } protocolG = !tsS3Https; + if (tsS3Oss) { + uriStyleG = S3UriStyleVirtualHost; + } return 0; } diff --git a/source/common/src/tglobal.c b/source/common/src/tglobal.c index 9223aa3c7a..8b7901e2a7 100644 --- a/source/common/src/tglobal.c +++ b/source/common/src/tglobal.c @@ -32,22 +32,22 @@ SConfig *tsCfg = NULL; // cluster -char tsFirst[TSDB_EP_LEN] = {0}; -char tsSecond[TSDB_EP_LEN] = {0}; -char tsLocalFqdn[TSDB_FQDN_LEN] = {0}; -char tsLocalEp[TSDB_EP_LEN] = {0}; // Local End Point, hostname:port -char tsVersionName[16] = "community"; -uint16_t tsServerPort = 6030; -int32_t tsVersion = 30000000; -int32_t tsStatusInterval = 1; // second -int32_t tsNumOfSupportVnodes = 256; -char tsEncryptAlgorithm[16] = {0}; -char tsEncryptScope[100] = {0}; -EEncryptAlgor tsiEncryptAlgorithm = 0; -EEncryptScope tsiEncryptScope = 0; -//char tsAuthCode[500] = {0}; -//char tsEncryptKey[17] = {0}; -char tsEncryptKey[17] = {0}; +char tsFirst[TSDB_EP_LEN] = {0}; +char tsSecond[TSDB_EP_LEN] = {0}; +char tsLocalFqdn[TSDB_FQDN_LEN] = {0}; +char tsLocalEp[TSDB_EP_LEN] = {0}; // Local End Point, hostname:port +char tsVersionName[16] = "community"; +uint16_t tsServerPort = 6030; +int32_t tsVersion = 30000000; +int32_t tsStatusInterval = 1; // second +int32_t tsNumOfSupportVnodes = 256; +char tsEncryptAlgorithm[16] = {0}; +char tsEncryptScope[100] = {0}; +EEncryptAlgor tsiEncryptAlgorithm = 0; +EEncryptScope tsiEncryptScope = 0; +// char tsAuthCode[500] = {0}; +// char tsEncryptKey[17] = {0}; +char tsEncryptKey[17] = {0}; // common int32_t tsMaxShellConns = 50000; @@ -296,6 +296,7 @@ char tsS3AccessKeySecret[TSDB_FQDN_LEN] = ""; char tsS3BucketName[TSDB_FQDN_LEN] = ""; char tsS3AppId[TSDB_FQDN_LEN] = ""; int8_t tsS3Enabled = false; +int8_t tsS3Oss = false; int8_t tsS3StreamEnabled = false; int8_t tsS3Https = true; @@ -310,7 +311,7 @@ bool tsExperimental = true; int32_t tsMaxTsmaNum = 3; int32_t tsMaxTsmaCalcDelay = 600; -int64_t tsmaDataDeleteMark = 1000 * 60 * 60 * 24; // in ms, default to 1d +int64_t tsmaDataDeleteMark = 1000 * 60 * 60 * 24; // in ms, default to 1d #ifndef _STORAGE int32_t taosSetTfsCfg(SConfig *pCfg) { @@ -366,6 +367,10 @@ int32_t taosSetS3Cfg(SConfig *pCfg) { tstrncpy(tsS3AppId, appid + 1, TSDB_FQDN_LEN); } } + char *oss = strstr(tsS3Endpoint, "aliyuncs."); + if (oss) { + tsS3Oss = true; + } if (tsS3BucketName[0] != '<') { #if defined(USE_COS) || defined(USE_S3) #ifdef TD_ENTERPRISE @@ -563,11 +568,12 @@ static int32_t taosAddClientCfg(SConfig *pCfg) { if (cfgAddBool(pCfg, "monitor", tsEnableMonitor, CFG_SCOPE_BOTH, CFG_DYN_BOTH) != 0) return -1; if (cfgAddInt32(pCfg, "monitorInterval", tsMonitorInterval, 1, 200000, CFG_SCOPE_BOTH, CFG_DYN_NONE) != 0) return -1; - if (cfgAddBool(pCfg, "multiResultFunctionStarReturnTags", tsMultiResultFunctionStarReturnTags, CFG_SCOPE_CLIENT, CFG_DYN_CLIENT) != 0) return -1; + if (cfgAddBool(pCfg, "multiResultFunctionStarReturnTags", tsMultiResultFunctionStarReturnTags, CFG_SCOPE_CLIENT, + CFG_DYN_CLIENT) != 0) + return -1; if (cfgAddInt32(pCfg, "countAlwaysReturnValue", tsCountAlwaysReturnValue, 0, 1, CFG_SCOPE_BOTH, CFG_DYN_CLIENT) != 0) return -1; - if (cfgAddInt32(pCfg, "maxTsmaCalcDelay", tsMaxTsmaCalcDelay, 600, 86400, CFG_SCOPE_CLIENT, CFG_DYN_CLIENT) != - 0) + if (cfgAddInt32(pCfg, "maxTsmaCalcDelay", tsMaxTsmaCalcDelay, 600, 86400, CFG_SCOPE_CLIENT, CFG_DYN_CLIENT) != 0) return -1; if (cfgAddInt32(pCfg, "tsmaDataDeleteMark", tsmaDataDeleteMark, 60 * 60 * 1000, INT64_MAX, CFG_SCOPE_CLIENT, CFG_DYN_CLIENT) != 0) @@ -618,11 +624,12 @@ static int32_t taosAddServerCfg(SConfig *pCfg) { tsNumOfSupportVnodes = tsNumOfCores * 2; tsNumOfSupportVnodes = TMAX(tsNumOfSupportVnodes, 2); - if (cfgAddInt32(pCfg, "supportVnodes", tsNumOfSupportVnodes, 0, 4096, CFG_SCOPE_SERVER, CFG_DYN_ENT_SERVER) != 0) return -1; + if (cfgAddInt32(pCfg, "supportVnodes", tsNumOfSupportVnodes, 0, 4096, CFG_SCOPE_SERVER, CFG_DYN_ENT_SERVER) != 0) + return -1; if (cfgAddString(pCfg, "encryptAlgorithm", tsEncryptAlgorithm, CFG_SCOPE_SERVER, CFG_DYN_NONE) != 0) return -1; if (cfgAddString(pCfg, "encryptScope", tsEncryptScope, CFG_SCOPE_SERVER, CFG_DYN_NONE) != 0) return -1; - //if (cfgAddString(pCfg, "authCode", tsAuthCode, CFG_SCOPE_SERVER, CFG_DYN_NONE) != 0) return -1; + // if (cfgAddString(pCfg, "authCode", tsAuthCode, CFG_SCOPE_SERVER, CFG_DYN_NONE) != 0) return -1; if (cfgAddInt32(pCfg, "statusInterval", tsStatusInterval, 1, 30, CFG_SCOPE_SERVER, CFG_DYN_NONE) != 0) return -1; if (cfgAddInt32(pCfg, "minSlidingTime", tsMinSlidingTime, 1, 1000000, CFG_SCOPE_CLIENT, CFG_DYN_CLIENT) != 0) @@ -749,8 +756,7 @@ static int32_t taosAddServerCfg(SConfig *pCfg) { if (cfgAddInt32(pCfg, "tmqMaxTopicNum", tmqMaxTopicNum, 1, 10000, CFG_SCOPE_SERVER, CFG_DYN_ENT_SERVER) != 0) return -1; - if (cfgAddInt32(pCfg, "tmqRowSize", tmqRowSize, 1, 1000000, CFG_SCOPE_SERVER, CFG_DYN_ENT_SERVER) != 0) - return -1; + if (cfgAddInt32(pCfg, "tmqRowSize", tmqRowSize, 1, 1000000, CFG_SCOPE_SERVER, CFG_DYN_ENT_SERVER) != 0) return -1; if (cfgAddInt32(pCfg, "maxTsmaNum", tsMaxTsmaNum, 0, 3, CFG_SCOPE_SERVER, CFG_DYN_SERVER) != 0) return -1; if (cfgAddInt32(pCfg, "transPullupInterval", tsTransPullupInterval, 1, 10000, CFG_SCOPE_SERVER, CFG_DYN_ENT_SERVER) != @@ -1181,7 +1187,7 @@ static int32_t taosSetServerCfg(SConfig *pCfg) { tsQueryBufferSize = cfgGetItem(pCfg, "queryBufferSize")->i32; tstrncpy(tsEncryptAlgorithm, cfgGetItem(pCfg, "encryptAlgorithm")->str, 16); tstrncpy(tsEncryptScope, cfgGetItem(pCfg, "encryptScope")->str, 100); - //tstrncpy(tsAuthCode, cfgGetItem(pCfg, "authCode")->str, 100); + // tstrncpy(tsAuthCode, cfgGetItem(pCfg, "authCode")->str, 100); tsNumOfRpcThreads = cfgGetItem(pCfg, "numOfRpcThreads")->i32; tsNumOfRpcSessions = cfgGetItem(pCfg, "numOfRpcSessions")->i32;