From c976aeb20834abcafc59a146ac79c251fcfa1bc7 Mon Sep 17 00:00:00 2001 From: Shuduo Sang Date: Mon, 27 Sep 2021 09:41:02 +0800 Subject: [PATCH] [TD-10469]: use blm to replace httpd (#8079) --- cmake/define.inc | 4 ++++ cmake/input.inc | 6 ++++++ src/client/CMakeLists.txt | 6 +++++- src/client/src/tscUtil.c | 7 +++++++ src/dnode/CMakeLists.txt | 5 +++++ src/dnode/src/dnodeModule.c | 2 ++ src/dnode/src/dnodeShell.c | 2 ++ src/plugins/CMakeLists.txt | 8 ++++++-- 8 files changed, 37 insertions(+), 3 deletions(-) diff --git a/cmake/define.inc b/cmake/define.inc index 7894e6dab5..a5fbd8abe9 100755 --- a/cmake/define.inc +++ b/cmake/define.inc @@ -124,6 +124,10 @@ IF (TD_APLHINE) MESSAGE(STATUS "aplhine is defined") ENDIF () +IF (TD_BUILD_HTTP) + ADD_DEFINITIONS(-DHTTP_EMBEDDED) +ENDIF () + IF (TD_LINUX) ADD_DEFINITIONS(-DLINUX) ADD_DEFINITIONS(-D_LINUX) diff --git a/cmake/input.inc b/cmake/input.inc index d746cf52f6..ed8788922c 100755 --- a/cmake/input.inc +++ b/cmake/input.inc @@ -90,6 +90,12 @@ IF (${BUILD_JDBC} MATCHES "false") SET(TD_BUILD_JDBC FALSE) ENDIF () +SET(TD_BUILD_HTTP TRUE) + +IF (${BUILD_HTTP} MATCHES "false") + SET(TD_BUILD_HTTP FALSE) +ENDIF () + SET(TD_MEMORY_SANITIZER FALSE) IF (${MEMORY_SANITIZER} MATCHES "true") SET(TD_MEMORY_SANITIZER TRUE) diff --git a/src/client/CMakeLists.txt b/src/client/CMakeLists.txt index cf53977103..4eb0d2b2bf 100644 --- a/src/client/CMakeLists.txt +++ b/src/client/CMakeLists.txt @@ -5,7 +5,11 @@ INCLUDE_DIRECTORIES(inc) INCLUDE_DIRECTORIES(jni) INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/query/inc) INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/deps/zlib-1.2.11/inc) -INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/plugins/http/inc) + +IF (TD_BUILD_HTTP) + INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/plugins/http/inc) +ENDIF () + AUX_SOURCE_DIRECTORY(src SRC) IF (TD_LINUX) diff --git a/src/client/src/tscUtil.c b/src/client/src/tscUtil.c index 60a6e241cc..04d1472bb0 100644 --- a/src/client/src/tscUtil.c +++ b/src/client/src/tscUtil.c @@ -29,7 +29,10 @@ #include "tsclient.h" #include "ttimer.h" #include "ttokendef.h" + +#ifdef HTTP_EMBEDDED #include "httpInt.h" +#endif static void freeQueryInfoImpl(SQueryInfo* pQueryInfo); @@ -5118,11 +5121,14 @@ void tscRemoveCachedTableMeta(STableMetaInfo* pTableMetaInfo, uint64_t id) { char* cloneCurrentDBName(SSqlObj* pSql) { char *p = NULL; +#ifdef HTTP_EMBEDDED HttpContext *pCtx = NULL; +#endif pthread_mutex_lock(&pSql->pTscObj->mutex); STscObj *pTscObj = pSql->pTscObj; switch (pTscObj->from) { +#ifdef HTTP_EMBEDDED case TAOS_REQ_FROM_HTTP: pCtx = pSql->param; if (pCtx && pCtx->db[0] != '\0') { @@ -5133,6 +5139,7 @@ char* cloneCurrentDBName(SSqlObj* pSql) { p = strdup(db); } break; +#endif default: break; } diff --git a/src/dnode/CMakeLists.txt b/src/dnode/CMakeLists.txt index 47186130ea..a009448c82 100644 --- a/src/dnode/CMakeLists.txt +++ b/src/dnode/CMakeLists.txt @@ -18,7 +18,12 @@ ELSE () ENDIF () ADD_EXECUTABLE(taosd ${SRC}) + +IF (TD_BUILD_HTTP) TARGET_LINK_LIBRARIES(taosd mnode monitor http tsdb twal vnode cJson lua lz4 balance sync ${LINK_JEMALLOC}) +ELSE () +TARGET_LINK_LIBRARIES(taosd mnode monitor tsdb twal vnode cJson lua lz4 balance sync ${LINK_JEMALLOC}) +ENDIF () IF (TD_SOMODE_STATIC) TARGET_LINK_LIBRARIES(taosd taos_static) diff --git a/src/dnode/src/dnodeModule.c b/src/dnode/src/dnodeModule.c index a661585b3b..39f9e35279 100644 --- a/src/dnode/src/dnodeModule.c +++ b/src/dnode/src/dnodeModule.c @@ -49,6 +49,7 @@ static void dnodeAllocModules() { tsModule[TSDB_MOD_MNODE].startFp = mnodeStartSystem; tsModule[TSDB_MOD_MNODE].stopFp = mnodeStopSystem; +#ifdef HTTP_EMBEDDED tsModule[TSDB_MOD_HTTP].enable = (tsEnableHttpModule == 1); tsModule[TSDB_MOD_HTTP].name = "http"; tsModule[TSDB_MOD_HTTP].initFp = httpInitSystem; @@ -58,6 +59,7 @@ static void dnodeAllocModules() { if (tsEnableHttpModule) { dnodeSetModuleStatus(TSDB_MOD_HTTP); } +#endif #ifdef _MQTT tsModule[TSDB_MOD_MQTT].enable = (tsEnableMqttModule == 1); diff --git a/src/dnode/src/dnodeShell.c b/src/dnode/src/dnodeShell.c index 5606681f0f..98bbbf8f73 100644 --- a/src/dnode/src/dnodeShell.c +++ b/src/dnode/src/dnodeShell.c @@ -240,7 +240,9 @@ void *dnodeSendCfgTableToRecv(int32_t vgId, int32_t tid) { SStatisInfo dnodeGetStatisInfo() { SStatisInfo info = {0}; if (dnodeGetRunStatus() == TSDB_RUN_STATUS_RUNING) { +#ifdef HTTP_EMBEDDED info.httpReqNum = httpGetReqCount(); +#endif info.queryReqNum = atomic_exchange_32(&tsQueryReqNum, 0); info.submitReqNum = atomic_exchange_32(&tsSubmitReqNum, 0); } diff --git a/src/plugins/CMakeLists.txt b/src/plugins/CMakeLists.txt index 320445f7f7..33f8c81a6d 100644 --- a/src/plugins/CMakeLists.txt +++ b/src/plugins/CMakeLists.txt @@ -2,7 +2,11 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8...3.20) PROJECT(TDengine) ADD_SUBDIRECTORY(monitor) -ADD_SUBDIRECTORY(http) + +IF (TD_BUILD_HTTP) + ADD_SUBDIRECTORY(http) +ENDIF () + IF (TD_LINUX AND TD_MQTT) ADD_SUBDIRECTORY(mqtt) -ENDIF () \ No newline at end of file +ENDIF () -- GitLab