提交 dfa681df 编写于 作者: R root

[TD-1291]

上级 0f01ebf5
...@@ -111,6 +111,7 @@ typedef struct HttpParser { ...@@ -111,6 +111,7 @@ typedef struct HttpParser {
void httpInitParser(HttpParser *parser); void httpInitParser(HttpParser *parser);
HttpParser *httpCreateParser(struct HttpContext *pContext); HttpParser *httpCreateParser(struct HttpContext *pContext);
void httpClearParser(HttpParser *parser);
void httpDestroyParser(HttpParser *parser); void httpDestroyParser(HttpParser *parser);
int32_t httpParseBuf(HttpParser *parser, const char *buf, int32_t len); int32_t httpParseBuf(HttpParser *parser, const char *buf, int32_t len);
char * httpGetStatusDesc(int32_t statusCode); char * httpGetStatusDesc(int32_t statusCode);
......
...@@ -138,7 +138,7 @@ HttpContext *httpGetContext(void *ptr) { ...@@ -138,7 +138,7 @@ HttpContext *httpGetContext(void *ptr) {
HttpContext *pContext = *ppContext; HttpContext *pContext = *ppContext;
if (pContext) { if (pContext) {
int32_t refCount = atomic_add_fetch_32(&pContext->refCount, 1); int32_t refCount = atomic_add_fetch_32(&pContext->refCount, 1);
httpDebug("context:%p, fd:%d, is accquired, data:%p refCount:%d", pContext, pContext->fd, ppContext, refCount); httpTrace("context:%p, fd:%d, is accquired, data:%p refCount:%d", pContext, pContext->fd, ppContext, refCount);
return pContext; return pContext;
} }
} }
...@@ -152,9 +152,9 @@ void httpReleaseContext(HttpContext *pContext) { ...@@ -152,9 +152,9 @@ void httpReleaseContext(HttpContext *pContext) {
return; return;
} }
pContext->parser->inited = 0; httpClearParser(pContext->parser);
HttpContext **ppContext = pContext->ppContext; HttpContext **ppContext = pContext->ppContext;
httpDebug("context:%p, is released, data:%p refCount:%d", pContext, ppContext, refCount); httpTrace("context:%p, is released, data:%p refCount:%d", pContext, ppContext, refCount);
if (tsHttpServer.contextCache != NULL) { if (tsHttpServer.contextCache != NULL) {
taosCacheRelease(tsHttpServer.contextCache, (void **)(&ppContext), false); taosCacheRelease(tsHttpServer.contextCache, (void **)(&ppContext), false);
...@@ -173,7 +173,7 @@ bool httpInitContext(HttpContext *pContext) { ...@@ -173,7 +173,7 @@ bool httpInitContext(HttpContext *pContext) {
memset(&pContext->singleCmd, 0, sizeof(HttpSqlCmd)); memset(&pContext->singleCmd, 0, sizeof(HttpSqlCmd));
httpDebug("context:%p, fd:%d, parsed:%d", pContext, pContext->fd, pContext->parsed); httpTrace("context:%p, fd:%d, parsed:%d", pContext, pContext->fd, pContext->parsed);
return true; return true;
} }
...@@ -191,15 +191,15 @@ void httpCloseContextByApp(HttpContext *pContext) { ...@@ -191,15 +191,15 @@ void httpCloseContextByApp(HttpContext *pContext) {
if (keepAlive) { if (keepAlive) {
if (httpAlterContextState(pContext, HTTP_CONTEXT_STATE_HANDLING, HTTP_CONTEXT_STATE_READY)) { if (httpAlterContextState(pContext, HTTP_CONTEXT_STATE_HANDLING, HTTP_CONTEXT_STATE_READY)) {
httpDebug("context:%p, fd:%d, last state:handling, keepAlive:true, reuse context", pContext, pContext->fd); httpTrace("context:%p, fd:%d, last state:handling, keepAlive:true, reuse context", pContext, pContext->fd);
} else if (httpAlterContextState(pContext, HTTP_CONTEXT_STATE_DROPPING, HTTP_CONTEXT_STATE_CLOSED)) { } else if (httpAlterContextState(pContext, HTTP_CONTEXT_STATE_DROPPING, HTTP_CONTEXT_STATE_CLOSED)) {
httpRemoveContextFromEpoll(pContext); httpRemoveContextFromEpoll(pContext);
httpDebug("context:%p, fd:%d, ast state:dropping, keepAlive:true, close connect", pContext, pContext->fd); httpTrace("context:%p, fd:%d, ast state:dropping, keepAlive:true, close connect", pContext, pContext->fd);
} else if (httpAlterContextState(pContext, HTTP_CONTEXT_STATE_READY, HTTP_CONTEXT_STATE_READY)) { } else if (httpAlterContextState(pContext, HTTP_CONTEXT_STATE_READY, HTTP_CONTEXT_STATE_READY)) {
httpDebug("context:%p, fd:%d, last state:ready, keepAlive:true, reuse context", pContext, pContext->fd); httpTrace("context:%p, fd:%d, last state:ready, keepAlive:true, reuse context", pContext, pContext->fd);
} else if (httpAlterContextState(pContext, HTTP_CONTEXT_STATE_CLOSED, HTTP_CONTEXT_STATE_CLOSED)) { } else if (httpAlterContextState(pContext, HTTP_CONTEXT_STATE_CLOSED, HTTP_CONTEXT_STATE_CLOSED)) {
httpRemoveContextFromEpoll(pContext); httpRemoveContextFromEpoll(pContext);
httpDebug("context:%p, fd:%d, last state:ready, keepAlive:true, close connect", pContext, pContext->fd); httpTrace("context:%p, fd:%d, last state:ready, keepAlive:true, close connect", pContext, pContext->fd);
} else { } else {
httpRemoveContextFromEpoll(pContext); httpRemoveContextFromEpoll(pContext);
httpError("context:%p, fd:%d, last state:%s:%d, keepAlive:true, close connect", pContext, pContext->fd, httpError("context:%p, fd:%d, last state:%s:%d, keepAlive:true, close connect", pContext, pContext->fd,
...@@ -207,7 +207,7 @@ void httpCloseContextByApp(HttpContext *pContext) { ...@@ -207,7 +207,7 @@ void httpCloseContextByApp(HttpContext *pContext) {
} }
} else { } else {
httpRemoveContextFromEpoll(pContext); httpRemoveContextFromEpoll(pContext);
httpDebug("context:%p, fd:%d, ilast state:%s:%d, keepAlive:false, close context", pContext, pContext->fd, httpTrace("context:%p, fd:%d, ilast state:%s:%d, keepAlive:false, close context", pContext, pContext->fd,
httpContextStateStr(pContext->state), pContext->state); httpContextStateStr(pContext->state), pContext->state);
} }
...@@ -216,13 +216,13 @@ void httpCloseContextByApp(HttpContext *pContext) { ...@@ -216,13 +216,13 @@ void httpCloseContextByApp(HttpContext *pContext) {
void httpCloseContextByServer(HttpContext *pContext) { void httpCloseContextByServer(HttpContext *pContext) {
if (httpAlterContextState(pContext, HTTP_CONTEXT_STATE_HANDLING, HTTP_CONTEXT_STATE_DROPPING)) { if (httpAlterContextState(pContext, HTTP_CONTEXT_STATE_HANDLING, HTTP_CONTEXT_STATE_DROPPING)) {
httpDebug("context:%p, fd:%d, epoll finished, still used by app", pContext, pContext->fd); httpTrace("context:%p, fd:%d, epoll finished, still used by app", pContext, pContext->fd);
} else if (httpAlterContextState(pContext, HTTP_CONTEXT_STATE_DROPPING, HTTP_CONTEXT_STATE_DROPPING)) { } else if (httpAlterContextState(pContext, HTTP_CONTEXT_STATE_DROPPING, HTTP_CONTEXT_STATE_DROPPING)) {
httpDebug("context:%p, fd:%d, epoll already finished, wait app finished", pContext, pContext->fd); httpTrace("context:%p, fd:%d, epoll already finished, wait app finished", pContext, pContext->fd);
} else if (httpAlterContextState(pContext, HTTP_CONTEXT_STATE_READY, HTTP_CONTEXT_STATE_CLOSED)) { } else if (httpAlterContextState(pContext, HTTP_CONTEXT_STATE_READY, HTTP_CONTEXT_STATE_CLOSED)) {
httpDebug("context:%p, fd:%d, epoll finished, close connect", pContext, pContext->fd); httpTrace("context:%p, fd:%d, epoll finished, close connect", pContext, pContext->fd);
} else if (httpAlterContextState(pContext, HTTP_CONTEXT_STATE_CLOSED, HTTP_CONTEXT_STATE_CLOSED)) { } else if (httpAlterContextState(pContext, HTTP_CONTEXT_STATE_CLOSED, HTTP_CONTEXT_STATE_CLOSED)) {
httpDebug("context:%p, fd:%d, epoll finished, will be closed soon", pContext, pContext->fd); httpTrace("context:%p, fd:%d, epoll finished, will be closed soon", pContext, pContext->fd);
} else { } else {
httpError("context:%p, fd:%d, unknown state:%d", pContext, pContext->fd, pContext->state); httpError("context:%p, fd:%d, unknown state:%d", pContext, pContext->fd, pContext->state);
} }
......
...@@ -33,7 +33,7 @@ bool httpDecodeRequest(HttpContext* pContext) { ...@@ -33,7 +33,7 @@ bool httpDecodeRequest(HttpContext* pContext) {
*/ */
bool httpProcessData(HttpContext* pContext) { bool httpProcessData(HttpContext* pContext) {
if (!httpAlterContextState(pContext, HTTP_CONTEXT_STATE_READY, HTTP_CONTEXT_STATE_HANDLING)) { if (!httpAlterContextState(pContext, HTTP_CONTEXT_STATE_READY, HTTP_CONTEXT_STATE_HANDLING)) {
httpDebug("context:%p, fd:%d, state:%s not in ready state, stop process request", pContext, pContext->fd, httpTrace("context:%p, fd:%d, state:%s not in ready state, stop process request", pContext, pContext->fd,
httpContextStateStr(pContext->state)); httpContextStateStr(pContext->state));
httpCloseContextByApp(pContext); httpCloseContextByApp(pContext);
return false; return false;
...@@ -41,7 +41,7 @@ bool httpProcessData(HttpContext* pContext) { ...@@ -41,7 +41,7 @@ bool httpProcessData(HttpContext* pContext) {
// handle Cross-domain request // handle Cross-domain request
if (strcmp(pContext->parser->method, "OPTIONS") == 0) { if (strcmp(pContext->parser->method, "OPTIONS") == 0) {
httpDebug("context:%p, fd:%d, process options request", pContext, pContext->fd); httpTrace("context:%p, fd:%d, process options request", pContext, pContext->fd);
httpSendOptionResp(pContext, "process options request success"); httpSendOptionResp(pContext, "process options request success");
} else { } else {
if (!httpDecodeRequest(pContext)) { if (!httpDecodeRequest(pContext)) {
......
...@@ -189,7 +189,7 @@ void httpInitJsonBuf(JsonBuf* buf, struct HttpContext* pContext) { ...@@ -189,7 +189,7 @@ void httpInitJsonBuf(JsonBuf* buf, struct HttpContext* pContext) {
httpGzipCompressInit(buf->pContext); httpGzipCompressInit(buf->pContext);
} }
httpDebug("context:%p, fd:%d, json buffer initialized", buf->pContext, buf->pContext->fd); httpTrace("context:%p, fd:%d, json buffer initialized", buf->pContext, buf->pContext->fd);
} }
void httpJsonItemToken(JsonBuf* buf) { void httpJsonItemToken(JsonBuf* buf) {
......
...@@ -178,7 +178,7 @@ static int32_t httpOnRequestLine(HttpParser *pParser, char *method, char *target ...@@ -178,7 +178,7 @@ static int32_t httpOnRequestLine(HttpParser *pParser, char *method, char *target
} }
if (pContext->decodeMethod != NULL) { if (pContext->decodeMethod != NULL) {
httpDebug("context:%p, fd:%d, decode method is %s", pContext, pContext->fd, pContext->decodeMethod->module); httpTrace("context:%p, fd:%d, decode method is %s", pContext, pContext->fd, pContext->decodeMethod->module);
} else { } else {
httpError("context:%p, fd:%d, the url is not support, target:%s", pContext, pContext->fd, target); httpError("context:%p, fd:%d, the url is not support, target:%s", pContext, pContext->fd, target);
httpOnError(pParser, 0, TSDB_CODE_HTTP_UNSUPPORT_URL); httpOnError(pParser, 0, TSDB_CODE_HTTP_UNSUPPORT_URL);
...@@ -190,7 +190,7 @@ static int32_t httpOnRequestLine(HttpParser *pParser, char *method, char *target ...@@ -190,7 +190,7 @@ static int32_t httpOnRequestLine(HttpParser *pParser, char *method, char *target
httpError("context:%p, fd:%d, unsupport httpVersion %d", pContext, pContext->fd, pParser->httpVersion); httpError("context:%p, fd:%d, unsupport httpVersion %d", pContext, pContext->fd, pParser->httpVersion);
httpOnError(pParser, 0, TSDB_CODE_HTTP_INVALID_VERSION); httpOnError(pParser, 0, TSDB_CODE_HTTP_INVALID_VERSION);
} else { } else {
httpDebug("context:%p, fd:%d, httpVersion:1.%d", pContext, pContext->fd, pParser->httpVersion); httpTrace("context:%p, fd:%d, httpVersion:1.%d", pContext, pContext->fd, pParser->httpVersion);
} }
return 0; return 0;
...@@ -204,7 +204,7 @@ static int32_t httpOnStatusLine(HttpParser *pParser, int32_t code, const char *r ...@@ -204,7 +204,7 @@ static int32_t httpOnStatusLine(HttpParser *pParser, int32_t code, const char *r
static int32_t httpOnParseHeaderField(HttpParser *parser, const char *key, const char *val) { static int32_t httpOnParseHeaderField(HttpParser *parser, const char *key, const char *val) {
HttpContext *pContext = parser->pContext; HttpContext *pContext = parser->pContext;
httpDebug("context:%p, fd:%d, key:%s val:%s", pContext, pContext->fd, key, val); httpTrace("context:%p, fd:%d, key:%s val:%s", pContext, pContext->fd, key, val);
if (0 == strcasecmp(key, "Content-Length")) { if (0 == strcasecmp(key, "Content-Length")) {
int32_t len = 0; int32_t len = 0;
...@@ -214,7 +214,7 @@ static int32_t httpOnParseHeaderField(HttpParser *parser, const char *key, const ...@@ -214,7 +214,7 @@ static int32_t httpOnParseHeaderField(HttpParser *parser, const char *key, const
parser->contentLength = len; parser->contentLength = len;
parser->chunkSize = len; parser->chunkSize = len;
parser->contentLengthSpecified = 1; parser->contentLengthSpecified = 1;
httpDebug("context:%p, fd:%d, contentLength:%d chunkSize:%d contentLengthSpecified:%d", pContext, pContext->fd, httpTrace("context:%p, fd:%d, contentLength:%d chunkSize:%d contentLengthSpecified:%d", pContext, pContext->fd,
parser->contentLength, parser->chunkSize, parser->contentLengthSpecified); parser->contentLength, parser->chunkSize, parser->contentLengthSpecified);
return 0; return 0;
} else { } else {
...@@ -227,11 +227,11 @@ static int32_t httpOnParseHeaderField(HttpParser *parser, const char *key, const ...@@ -227,11 +227,11 @@ static int32_t httpOnParseHeaderField(HttpParser *parser, const char *key, const
else if (0 == strcasecmp(key, "Accept-Encoding")) { else if (0 == strcasecmp(key, "Accept-Encoding")) {
if (strstr(val, "gzip")) { if (strstr(val, "gzip")) {
parser->acceptEncodingGzip = 1; parser->acceptEncodingGzip = 1;
httpDebug("context:%p, fd:%d, acceptEncodingGzip:%d", pContext, pContext->fd, parser->acceptEncodingGzip); httpTrace("context:%p, fd:%d, acceptEncodingGzip:%d", pContext, pContext->fd, parser->acceptEncodingGzip);
} }
if (strstr(val, "chunked")) { if (strstr(val, "chunked")) {
parser->acceptEncodingChunked = 1; parser->acceptEncodingChunked = 1;
httpDebug("context:%p, fd:%d, acceptEncodingChunked:%d", pContext, pContext->fd, parser->acceptEncodingChunked); httpTrace("context:%p, fd:%d, acceptEncodingChunked:%d", pContext, pContext->fd, parser->acceptEncodingChunked);
} }
return 0; return 0;
} }
...@@ -248,7 +248,7 @@ static int32_t httpOnParseHeaderField(HttpParser *parser, const char *key, const ...@@ -248,7 +248,7 @@ static int32_t httpOnParseHeaderField(HttpParser *parser, const char *key, const
else if (0 == strcasecmp(key, "Content-Encoding")) { else if (0 == strcasecmp(key, "Content-Encoding")) {
if (0 == strcmp(val, "gzip")) { if (0 == strcmp(val, "gzip")) {
parser->contentChunked = 1; parser->contentChunked = 1;
httpDebug("context:%p, fd:%d, contentChunked:%d", pContext, pContext->fd, parser->contentChunked); httpTrace("context:%p, fd:%d, contentChunked:%d", pContext, pContext->fd, parser->contentChunked);
} }
return 0; return 0;
} }
...@@ -271,7 +271,7 @@ static int32_t httpOnParseHeaderField(HttpParser *parser, const char *key, const ...@@ -271,7 +271,7 @@ static int32_t httpOnParseHeaderField(HttpParser *parser, const char *key, const
} }
if (strstr(val, "chunked")) { if (strstr(val, "chunked")) {
parser->transferChunked = 1; parser->transferChunked = 1;
httpDebug("context:%p, fd:%d, transferChunked:%d", pContext, pContext->fd, parser->transferChunked); httpTrace("context:%p, fd:%d, transferChunked:%d", pContext, pContext->fd, parser->transferChunked);
} }
return 0; return 0;
} }
...@@ -289,7 +289,7 @@ static int32_t httpOnParseHeaderField(HttpParser *parser, const char *key, const ...@@ -289,7 +289,7 @@ static int32_t httpOnParseHeaderField(HttpParser *parser, const char *key, const
s = NULL; s = NULL;
free(t); free(t);
free(s); free(s);
httpDebug("context:%p, fd:%d, basic auth:%s", pContext, pContext->fd, parser->authContent); httpTrace("context:%p, fd:%d, basic auth:%s", pContext, pContext->fd, parser->authContent);
int32_t ok = httpParseBasicAuthToken(pContext, parser->authContent, strlen(parser->authContent)); int32_t ok = httpParseBasicAuthToken(pContext, parser->authContent, strlen(parser->authContent));
if (ok != 0) { if (ok != 0) {
httpOnError(parser, 0, TSDB_CODE_HTTP_INVALID_BASIC_AUTH); httpOnError(parser, 0, TSDB_CODE_HTTP_INVALID_BASIC_AUTH);
...@@ -303,7 +303,7 @@ static int32_t httpOnParseHeaderField(HttpParser *parser, const char *key, const ...@@ -303,7 +303,7 @@ static int32_t httpOnParseHeaderField(HttpParser *parser, const char *key, const
s = NULL; s = NULL;
free(t); free(t);
free(s); free(s);
httpDebug("context:%p, fd:%d, taosd auth:%s", pContext, pContext->fd, parser->authContent); httpTrace("context:%p, fd:%d, taosd auth:%s", pContext, pContext->fd, parser->authContent);
int32_t ok = httpParseTaosdAuthToken(pContext, parser->authContent, strlen(parser->authContent)); int32_t ok = httpParseTaosdAuthToken(pContext, parser->authContent, strlen(parser->authContent));
if (ok != 0) { if (ok != 0) {
httpOnError(parser, 0, TSDB_CODE_HTTP_INVALID_TAOSD_AUTH); httpOnError(parser, 0, TSDB_CODE_HTTP_INVALID_TAOSD_AUTH);
...@@ -371,7 +371,7 @@ static int32_t httpOnEnd(HttpParser *parser) { ...@@ -371,7 +371,7 @@ static int32_t httpOnEnd(HttpParser *parser) {
return -1; return -1;
} }
httpDebug("context:%p, fd:%d, parse success", pContext, pContext->fd); httpTrace("context:%p, fd:%d, parse success", pContext, pContext->fd);
return 0; return 0;
} }
...@@ -422,7 +422,7 @@ static int32_t httpCleanupStack(HttpStack *stack) { ...@@ -422,7 +422,7 @@ static int32_t httpCleanupStack(HttpStack *stack) {
void httpInitParser(HttpParser *parser) { void httpInitParser(HttpParser *parser) {
HttpContext *pContext = parser->pContext; HttpContext *pContext = parser->pContext;
httpTrace("context:%p, fd:%d, free parser", pContext, pContext->fd); httpTrace("context:%p, fd:%d, init parser", pContext, pContext->fd);
parser->parsed = false; parser->parsed = false;
parser->inited = 1; parser->inited = 1;
...@@ -475,9 +475,17 @@ HttpParser *httpCreateParser(HttpContext *pContext) { ...@@ -475,9 +475,17 @@ HttpParser *httpCreateParser(HttpContext *pContext) {
return parser; return parser;
} }
void httpClearParser(HttpParser *parser) {
HttpContext *pContext = parser->pContext;
httpTrace("context:%p, fd:%d, clear parser", pContext, pContext->fd);
pContext->parser->inited = 0;
pContext->parser->parsed = false;
}
void httpDestroyParser(HttpParser *parser) { void httpDestroyParser(HttpParser *parser) {
HttpContext *pContext = parser->pContext; HttpContext *pContext = parser->pContext;
httpTrace("context:%p, fd:%d, free parser", pContext, pContext->fd); httpTrace("context:%p, fd:%d, destroy parser", pContext, pContext->fd);
if (!parser) return; if (!parser) return;
...@@ -603,7 +611,7 @@ static int32_t httpParserOnMethod(HttpParser *parser, HTTP_PARSER_STATE state, c ...@@ -603,7 +611,7 @@ static int32_t httpParserOnMethod(HttpParser *parser, HTTP_PARSER_STATE state, c
do { do {
if (isalnum(c) || strchr("!#$%&'*+-.^_`|~", c)) { if (isalnum(c) || strchr("!#$%&'*+-.^_`|~", c)) {
if (httpAppendString(&parser->str, &c, 1)) { if (httpAppendString(&parser->str, &c, 1)) {
httpDebug("context:%p, fd:%d, parser state:%d, char:[%c]%02x, oom", pContext, pContext->fd, state, c, c); httpError("context:%p, fd:%d, parser state:%d, char:[%c]%02x, oom", pContext, pContext->fd, state, c, c);
ok = -1; ok = -1;
httpOnError(parser, 507, TSDB_CODE_HTTP_PARSE_METHOD_FAILED); httpOnError(parser, 507, TSDB_CODE_HTTP_PARSE_METHOD_FAILED);
break; break;
...@@ -719,7 +727,7 @@ static int32_t httpParserOnSp(HttpParser *parser, HTTP_PARSER_STATE state, const ...@@ -719,7 +727,7 @@ static int32_t httpParserOnSp(HttpParser *parser, HTTP_PARSER_STATE state, const
httpPopStack(parser); httpPopStack(parser);
break; break;
} }
httpDebug("context:%p, fd:%d, parser state:%d, char:[%c]%02x, oom", pContext, pContext->fd, state, c, c); httpError("context:%p, fd:%d, parser state:%d, char:[%c]%02x, oom", pContext, pContext->fd, state, c, c);
ok = -1; ok = -1;
httpOnError(parser, 507, TSDB_CODE_HTTP_PARSE_SP_FAILED); httpOnError(parser, 507, TSDB_CODE_HTTP_PARSE_SP_FAILED);
} while (0); } while (0);
......
...@@ -71,7 +71,7 @@ static void *httpProcessResultQueue(void *param) { ...@@ -71,7 +71,7 @@ static void *httpProcessResultQueue(void *param) {
break; break;
} }
httpDebug("context:%p, res:%p will be processed in result queue", pMsg->param, pMsg->result); httpTrace("context:%p, res:%p will be processed in result queue", pMsg->param, pMsg->result);
(*pMsg->fp)(pMsg->param, pMsg->result, pMsg->numOfRows); (*pMsg->fp)(pMsg->param, pMsg->result, pMsg->numOfRows);
taosFreeQitem(pMsg); taosFreeQitem(pMsg);
} }
......
...@@ -302,11 +302,11 @@ bool httpInitConnect() { ...@@ -302,11 +302,11 @@ bool httpInitConnect() {
static bool httpReadData(HttpContext *pContext) { static bool httpReadData(HttpContext *pContext) {
HttpParser *pParser = pContext->parser; HttpParser *pParser = pContext->parser;
ASSERT(!pParser->parsed);
if (!pParser->inited) { if (!pParser->inited) {
httpInitParser(pParser); httpInitParser(pParser);
} }
ASSERT(!pParser->parsed);
pContext->accessTimes++; pContext->accessTimes++;
pContext->lastAccessTime = taosGetTimestampSec(); pContext->lastAccessTime = taosGetTimestampSec();
...@@ -332,10 +332,10 @@ static bool httpReadData(HttpContext *pContext) { ...@@ -332,10 +332,10 @@ static bool httpReadData(HttpContext *pContext) {
} }
if (!pParser->parsed) { if (!pParser->parsed) {
httpDebug("context:%p, fd:%d, read not over yet, len:%d", pContext, pContext->fd, pParser->body.pos); httpTrace("context:%p, fd:%d, read not over yet, len:%d", pContext, pContext->fd, pParser->body.pos);
return false; return false;
} else { } else {
httpDebug("context:%p, fd:%d, len:%d, body:%s", pContext, pContext->fd, pParser->body.pos, pParser->body.str); httpTraceL("context:%p, fd:%d, len:%d, body:%s", pContext, pContext->fd, pParser->body.pos, pParser->body.str);
return true; return true;
} }
} else if (nread < 0) { } else if (nread < 0) {
......
...@@ -111,23 +111,23 @@ echo "serverPort ${NODE}" >> $TAOS_CFG ...@@ -111,23 +111,23 @@ echo "serverPort ${NODE}" >> $TAOS_CFG
echo "dataDir $DATA_DIR" >> $TAOS_CFG echo "dataDir $DATA_DIR" >> $TAOS_CFG
echo "logDir $LOG_DIR" >> $TAOS_CFG echo "logDir $LOG_DIR" >> $TAOS_CFG
echo "debugFlag 0" >> $TAOS_CFG echo "debugFlag 0" >> $TAOS_CFG
echo "mDebugFlag 131" >> $TAOS_CFG echo "mDebugFlag 135" >> $TAOS_CFG
echo "sdbDebugFlag 131" >> $TAOS_CFG echo "sdbDebugFlag 135" >> $TAOS_CFG
echo "dDebugFlag 131" >> $TAOS_CFG echo "dDebugFlag 135" >> $TAOS_CFG
echo "vDebugFlag 131" >> $TAOS_CFG echo "vDebugFlag 135" >> $TAOS_CFG
echo "tsdbDebugFlag 131" >> $TAOS_CFG echo "tsdbDebugFlag 135" >> $TAOS_CFG
echo "cDebugFlag 131" >> $TAOS_CFG echo "cDebugFlag 135" >> $TAOS_CFG
echo "jnidebugFlag 131" >> $TAOS_CFG echo "jnidebugFlag 135" >> $TAOS_CFG
echo "odbcdebugFlag 131" >> $TAOS_CFG echo "odbcdebugFlag 135" >> $TAOS_CFG
echo "httpDebugFlag 207" >> $TAOS_CFG echo "httpDebugFlag 135" >> $TAOS_CFG
echo "monitorDebugFlag 131" >> $TAOS_CFG echo "monitorDebugFlag 135" >> $TAOS_CFG
echo "mqttDebugFlag 131" >> $TAOS_CFG echo "mqttDebugFlag 135" >> $TAOS_CFG
echo "qdebugFlag 131" >> $TAOS_CFG echo "qdebugFlag 135" >> $TAOS_CFG
echo "rpcDebugFlag 131" >> $TAOS_CFG echo "rpcDebugFlag 135" >> $TAOS_CFG
echo "tmrDebugFlag 131" >> $TAOS_CFG echo "tmrDebugFlag 131" >> $TAOS_CFG
echo "udebugFlag 131" >> $TAOS_CFG echo "udebugFlag 135" >> $TAOS_CFG
echo "sdebugFlag 131" >> $TAOS_CFG echo "sdebugFlag 135" >> $TAOS_CFG
echo "wdebugFlag 131" >> $TAOS_CFG echo "wdebugFlag 135" >> $TAOS_CFG
echo "monitor 0" >> $TAOS_CFG echo "monitor 0" >> $TAOS_CFG
echo "monitorInterval 1" >> $TAOS_CFG echo "monitorInterval 1" >> $TAOS_CFG
echo "http 0" >> $TAOS_CFG echo "http 0" >> $TAOS_CFG
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册