diff --git a/CMakeLists.txt b/CMakeLists.txt index 3df1daea6786b014239fcb8f2ea546610c566e42..fb11c8383c303fb7ff9f8d167f792989e1ec135b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,15 @@ cmake_minimum_required(VERSION 3.14.1) +# When downloading and extracting files from a URL, the timestamp is handled by using the current system time as the timestamp for the extracted files. +if(POLICY CMP0135) + cmake_policy(SET CMP0135 NEW) +endif() + +# Enable _ROOT variable support (e.g., ZLIB_ROOT, etc.) +if(POLICY CMP0074) + cmake_policy(SET CMP0074 NEW) +endif() + project(Datasystem DESCRIPTION "DataSystem for Distributed Data Cache" LANGUAGES CXX C) # Version specified diff --git a/build.sh b/build.sh index 1763f63b3034203b7f540d7698d47245d61e3aa5..7c3c0f368c354e017a1fc5c36525d90dfa064dc9 100755 --- a/build.sh +++ b/build.sh @@ -296,9 +296,7 @@ function build_example() { cmake "${DATASYSTEM_DIR}/example" \ -DCMAKE_PREFIX_PATH="${prefix_path}" \ - -DBUILD_HETERO="${BUILD_HETERO}" \ - -DBUILD_WITH_URMA="${BUILD_WITH_URMA}" \ - -DENABLE_PERF=${ENABLE_PERF} || go_die "---- build example CMake project failed!" + -DBUILD_HETERO="${BUILD_HETERO}" || go_die "---- build example CMake project failed!" make || go_die "---- example make failed!" echo -e "---- build example success!" @@ -489,12 +487,18 @@ function build_datasystem() "-DBUILD_THREAD_NUM:STRING=${BUILD_THREAD_NUM}" "-DENABLE_STRIP:BOOL=${ENABLE_STRIP}" "-DBUILD_HETERO:BOOL=${BUILD_HETERO}" - "-DBUILD_WITH_URMA:BOOL=${BUILD_WITH_URMA}" - "-DDOWNLOAD_UB:BOOL=${DOWNLOAD_UB}" - "-DUB_URL:STRING=${UB_URL}" - "-DUB_SHA256:STRING=${UB_SHA256}" "-DSUPPORT_JEPROF:BOOL=${SUPPORT_JEPROF}" + "-DBUILD_WITH_URMA:BOOL=${BUILD_WITH_URMA}" + ) + + if [[ "${BUILD_WITH_URMA}" == "on" ]]; then + cmake_options+=( + "-DDOWNLOAD_UB:BOOL=${DOWNLOAD_UB}" + "-DUB_URL:STRING=${UB_URL}" + "-DUB_SHA256:STRING=${UB_SHA256}" ) + fi + if is_on "${PACKAGE_PYTHON}" && [ -n "${PYTHON_ROOT_DIR}" ]; then echo -e "-- Specify python root path: ${PYTHON_ROOT_DIR}" cmake_options=("${cmake_options[@]}" "-DPython3_ROOT_DIR:PATH=${PYTHON_ROOT_DIR}") diff --git a/cmake/external_libs/absl.cmake b/cmake/external_libs/absl.cmake index 0fa982916b068328f574c81f9cb45c2a2f485194..9ed040cb4f0cd95dda63ff2840d0bcb0ca1582c6 100644 --- a/cmake/external_libs/absl.cmake +++ b/cmake/external_libs/absl.cmake @@ -10,7 +10,8 @@ set(absl_SHA256 "c1e391c517790669dfcbbfda1278a61053679c303c0fb05018bf2266197f054 set(absl_CMAKE_OPTIONS -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=TRUE - -DCMAKE_CXX_STANDARD=17) + -DCMAKE_CXX_STANDARD=17 + -DABSL_PROPAGATE_CXX_STD=ON) set(absl_CXX_FLAGS ${THIRDPARTY_SAFE_FLAGS}) diff --git a/cmake/external_libs/cjson.cmake b/cmake/external_libs/cjson.cmake index d5c9d9a2477dfd11ddee999001589b3b7b138b92..a3bd4e3ee0624bec16573f8bfe19f83891115e57 100644 --- a/cmake/external_libs/cjson.cmake +++ b/cmake/external_libs/cjson.cmake @@ -7,7 +7,6 @@ endif() set(cjson_SHA256 "6edd31f4faa373dc94b26e4ab6b4483d32fbfc003771a6d0e1a9106e0d9521f2") set(cjson_C_FLAGS ${THIRDPARTY_SAFE_FLAGS}) -set(cjson_CXX_FLAGS ${THIRDPARTY_SAFE_FLAGS}) set(cjson_LINK_FLAGS ${THIRDPARTY_SAFE_FLAGS}) if ("$ENV{DS_PACKAGE}" STREQUAL "") set(cjson_PATCHES ${CMAKE_SOURCE_DIR}/third_party/patches/cjson/1.7.17/Backport-CVE-2024-31755-Add-NULL-check-to-cJSON_SetValuestring-c.patch) @@ -19,7 +18,6 @@ add_thirdparty_lib(CJSON FAKE_SHA256 ${cjson_FAKE_SHA256} VERSION ${cjson_VERSION} C_FLAGS ${cjson_C_FLAGS} - CXX_FLAGS ${cjson_CXX_FLAGS} LINK_FLAGS ${cjson_LINK_FLAGS} PATCHES ${cjson_PATCHES}) diff --git a/cmake/external_libs/grpc.cmake b/cmake/external_libs/grpc.cmake index 7e6cc84ad89252a597261d4f440d8aa0e50fc89c..3bb6efe7ea69561d8ecdbd0f9acafb4b686c489f 100644 --- a/cmake/external_libs/grpc.cmake +++ b/cmake/external_libs/grpc.cmake @@ -58,7 +58,6 @@ set(gRPC_CMAKE_OPTIONS -DgRPC_DOWNLOAD_ARCHIVES:BOOL=OFF -DgRPC_BUILD_TESTS:BOOL=OFF -DgRPC_PROTOBUF_PROVIDER:STRING=package - -DgRPC_PROTOBUF_PACKAGE_TYPE:STRING=CONFIG -Dutf8_range_DIR:PATH=${utf8_range_PKG_PATH} -DProtobuf_DIR:PATH=${Protobuf_PKG_PATH} -DgRPC_ABSL_PROVIDER:STRING=package @@ -71,8 +70,7 @@ set(gRPC_CMAKE_OPTIONS -DOPENSSL_ROOT_DIR=${OpenSSL_ROOT} -DgRPC_ZLIB_PROVIDER:STRING=package -DZLIB_ROOT:PATH=${ZLIB_ROOT} - -DCMAKE_CXX_STANDARD=17 - -DCMAKE_POLICY_DEFAULT_CMP0074=NEW) + -DCMAKE_CXX_STANDARD=17) if (gRPC_VERSION STREQUAL "1.54.2") set(gRPC_CMAKE_OPTIONS diff --git a/cmake/external_libs/libcurl.cmake b/cmake/external_libs/libcurl.cmake index ec0f34c0f2408deee9b5ade4cb5d352770d9c8f2..3c1d1a3d4716bb97e00f84689ab3d646d7ae9b9b 100644 --- a/cmake/external_libs/libcurl.cmake +++ b/cmake/external_libs/libcurl.cmake @@ -10,8 +10,6 @@ set(curl_CMAKE_OPTIONS -DCMAKE_CXX_STANDARD=11 -DOPENSSL_ROOT_DIR:PATH=${OpenSSL_ROOT}) -set(curl_CXX_FLAGS ${THIRDPARTY_SAFE_FLAGS}) - set(curl_C_FLAGS ${THIRDPARTY_SAFE_FLAGS}) if (curl_VERSION STREQUAL "8.8.0") @@ -33,7 +31,6 @@ add_thirdparty_lib(CURL FAKE_SHA256 ${curl_FAKE_SHA256} VERSION ${curl_VERSION} CONF_OPTIONS ${curl_CMAKE_OPTIONS} - CXX_FLAGS ${curl_CXX_FLAGS} C_FLAGS ${curl_C_FLAGS} PATCHES ${curl_PATCHES}) diff --git a/cmake/external_libs/spdlog.cmake b/cmake/external_libs/spdlog.cmake index be44d40c9adba75c84593e3456f8bc13907cf3f6..5fe09c33c575eaec16d95af5bb9dc4f8e01c2e99 100644 --- a/cmake/external_libs/spdlog.cmake +++ b/cmake/external_libs/spdlog.cmake @@ -6,7 +6,6 @@ else() endif() set(spdlog_SHA256 "a0a22ed8e4932cf5f7abc354fc96d20217a8b45471e732d5e672cc01979fe588") -set(spdlog_C_FLAGS ${THIRDPARTY_SAFE_FLAGS}) set(spdlog_CXX_FLAGS ${THIRDPARTY_SAFE_FLAGS}) set(spdlog_LINK_FLAGS ${THIRDPARTY_SAFE_FLAGS}) @@ -21,7 +20,6 @@ add_thirdparty_lib(SPDLOG SHA256 ${spdlog_SHA256} FAKE_SHA256 ${spdlog_FAKE_SHA256} VERSION ${spdlog_VERSION} - C_FLAGS ${spdlog_C_FLAGS} CXX_FLAGS ${spdlog_CXX_FLAGS} LINK_FLAGS ${spdlog_LINK_FLAGS} CONF_OPTIONS ${spdlog_CMAKE_OPTIONS} diff --git a/cmake/scripts/PackageDatasystem.cmake.in b/cmake/scripts/PackageDatasystem.cmake.in index d70a5f8b8a4f694d00eb0ce6dc0666d1aaefc06b..4cdc31fd5a6cf098342c0ca9aafcc7a183f7ca83 100644 --- a/cmake/scripts/PackageDatasystem.cmake.in +++ b/cmake/scripts/PackageDatasystem.cmake.in @@ -24,9 +24,12 @@ foreach(FILE ${FILE_LIST}) endforeach() find_program(CMAKE_STRIP NAMES strip) -file(GLOB SO_FILES "${DATASYSTEM_WHEEL_PATH}/lib/*.so*") +file(GLOB SO_FILES "${DATASYSTEM_WHEEL_PATH}/lib/*.so*" EXCLUDE REGEX "libacl_plugin.so") +#libacl_plugin.so need check sha256, can not strip foreach(SO_FILE ${SO_FILES}) - execute_process(COMMAND ${CMAKE_STRIP} ${SO_FILE}) + if (NOT SO_FILE MATCHES "libacl_plugin.so$") + execute_process(COMMAND ${CMAKE_STRIP} ${SO_FILE}) + endif() endforeach() # Run python setup.py bdist_whell to generate origin wheel file. @@ -37,4 +40,4 @@ file(GLOB ORIGIN_WHEEL "dist/dist/*.whl") file(COPY ${ORIGIN_WHEEL} DESTINATION ${CMAKE_INSTALL_PATH}/) # Remove temporary package path -file(REMOVE_RECURSE ${DATASYSTEM_SETUP_PATH}) \ No newline at end of file +file(REMOVE_RECURSE ${DATASYSTEM_SETUP_PATH}) diff --git a/cmake/scripts/PackagePython.cmake.in b/cmake/scripts/PackagePython.cmake.in index 918c5f1a07516204b6eefdb3b8c9271e415251c5..06088a5e40b0643bc8ae2456aa755e167936b8f6 100644 --- a/cmake/scripts/PackagePython.cmake.in +++ b/cmake/scripts/PackagePython.cmake.in @@ -18,8 +18,11 @@ file(COPY ${PYTHON_LIBPATH}/ find_program(CMAKE_STRIP NAMES strip) file(GLOB SO_FILES "${PYTHON_PACKAGE_LIBPATH}/lib/*.so*") +#libacl_plugin.so need check sha256, can not strip foreach(SO_FILE ${SO_FILES}) - execute_process(COMMAND ${CMAKE_STRIP} ${SO_FILE}) + if (NOT SO_FILE MATCHES "libacl_plugin.so$") + execute_process(COMMAND ${CMAKE_STRIP} ${SO_FILE}) + endif() endforeach() file(RENAME ${PYTHON_PACKAGE_LIBPATH}/setup.py ${PYTHON_PACKAGE_PATH}/setup.py) @@ -30,4 +33,4 @@ file(GLOB ORIGIN_WHEEL "python_api/dist/*.whl") # Rename origin wheel file and move to install path. file(COPY ${ORIGIN_WHEEL} DESTINATION ${CMAKE_INSTALL_PATH}) # Remove temporary package path -file(REMOVE_RECURSE ${PYTHON_PACKAGE_PATH}) \ No newline at end of file +file(REMOVE_RECURSE ${PYTHON_PACKAGE_PATH}) diff --git a/cmake/util.cmake b/cmake/util.cmake index 2dcd2aebdb9a168284d48747325e2355229c34ec..ce9720615fbd7678582add8e9ebc535511366ebc 100644 --- a/cmake/util.cmake +++ b/cmake/util.cmake @@ -1,5 +1,7 @@ include(FetchContent) +set(DOWNLOAD_EXTRACT_TIMESTAMP TRUE) + set(THIRDPARTY_SAFE_FLAGS "-fPIC -D_FORTIFY_SOURCE=2 -O2 -fstack-protector-strong -ffunction-sections -fdata-sections -Wl,--gc-sections -Wl,--build-id=none -Wl,-z,relro,-z,noexecstack,-z,now ${EXT_FLAGS}") if (CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "aarch64" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "9.1.0") diff --git a/docs/source_zh_cn/appendix/log_guide.md b/docs/source_zh_cn/appendix/log_guide.md index 8e57579324c9fdc3080efedcc695f0d1aeb62abf..60c6dbbf479b92659054c4025f9ddfb3debe4080 100644 --- a/docs/source_zh_cn/appendix/log_guide.md +++ b/docs/source_zh_cn/appendix/log_guide.md @@ -51,19 +51,19 @@ openYuanrong datasystem 不同模块日志分类如下表所示: | datasize | 16 | 记录Publish请求接收到的Payload大小。 | | request param | 2560 | 记录该请求的关键请求参数,最大长度2048。请参考“关键请求参数”表格。 | | response param | 1024 | 记录该请求的响应信息。最大长度为1024 Byte,超出则截断。 | -| shm_info | 47 | 记录共享内存使用信息,单位为Byte,按照1T限制大小,每个长度 13 Byte,格式为:memoryUsage/physicalMemoryUsage/totalLimit/rate
1) memoryUsage 已分配的内存大小,是已缓存的对象大小总和。
2) physicalMemoryUsage 已分配的物理内存大小。
3) totalLimit 共享内存总大小。
4) Rate 共享内存使用率,memoryUsage/totalLimit, 保留3位有效数字,单位: %. | -| spill_disk_inf0 | 47 | 记录Spill磁盘使用信息。单位为Byte,按照1T限制大小,每个长度 13 Byte,格式为:spaceUsage/physicalSpaceUsage/totalLimit/rate
1) spaceUsage 已使用的磁盘大小,是已Spill的对象大小总和。
2) physicalSpaceUsage 已使用的物理磁盘大小。
3) totalLimit Spill磁盘总大小。
4) Rate Spill磁盘使用率,spaceUsage /totalLimit, 保留3位有效数字,单位: %. | -| client nums | 5 | 记录已和worker成功建立连接的Client数。最大值为10000. | -| object nums | 9 | 记录worker已缓存对象数。按照1亿对象限制数量。 | -| object total datasize | 13 | 记录worker已缓存对象的大小。按照1T限制大小,长度 13 Byte | -| WorkerOcService threadpool | 21 | WorkerOcService threadpool使用信息,线程数限制最大128;格式为:idleNum/currentTotalNum/MaxThreadNum/waitingTaskNum/rate
1) idelNum 空闲线程数;
2) currentTotalNum 当前正在运行任务的线程数;
3) MaxThreadNum threadpool最大可申请的线程数;
4) waitingTaskNum 正在等待的任务数。
5) rate 线程利用率,currentTotalNum/ MaxThreadNum,单位:%,保留3位有效数字。 | -| WorkerWorkerOcService threadpool | 21 | threadpool使用信息 | -| MasterWokrerOcService threadpool | 21 | threadpool使用信息 | +| shm_info | 47 | 记录共享内存使用信息,单位为Byte,按照1T限制大小,每个长度 13 Byte,格式为:memoryUsage/physicalMemoryUsage/totalLimit/rate
1) memoryUsage 已分配的内存大小,是已缓存的对象大小总和。
2) physicalMemoryUsage 已分配的物理内存大小。
3) totalLimit 共享内存总大小。
4) Rate 共享内存使用率,memoryUsage/totalLimit, 保留3位有效数字,单位: %. | +| spill_disk_info | 47 | 记录Spill磁盘使用信息。单位为Byte,按照1T限制大小,每个长度 13 Byte,格式为:spaceUsage/physicalSpaceUsage/totalLimit/rate
1) spaceUsage 已使用的磁盘大小,是已Spill的对象大小总和。
2) physicalSpaceUsage 已使用的物理磁盘大小。
3) totalLimit Spill磁盘总大小。
4) Rate Spill磁盘使用率,spaceUsage /totalLimit, 保留3位有效数字,单位: %. | +| client nums | 5 | 记录已和worker成功建立连接的Client数。最大值为10000. | +| object nums | 9 | 记录worker已缓存对象数。按照1亿对象限制数量。| +| object total datasize | 13 | 记录worker已缓存对象的大小。按照1T限制大小,长度 13 Byte | +| WorkerOcService threadpool | 21 | WorkerOcService threadpool使用信息,线程数限制最大128;格式为:idleNum/currentTotalNum/MaxThreadNum/waitingTaskNum/rate
1) idelNum 空闲线程数;
2) currentTotalNum 当前正在运行任务的线程数;
3) MaxThreadNum threadpool最大可申请的线程数;
4) waitingTaskNum 正在等待的任务数。
5) rate 线程利用率,currentTotalNum/ MaxThreadNum,单位:%,保留3位有效数字。| +| WorkerWorkerOcService threadpool | 21 | threadpool使用信息 | +| MasterWokrerOcService threadpool | 21 | threadpool使用信息 | | MasterOcService threadpool | 21 | threadpool使用信息 | -| write ETCD queue | 15 | 队列使用信息 | -| ETCDrequest success rate | 6 | 请求使用率,单位 %,保留3位有效数字 | -| OBSrequest success rate | 6 | 请求使用率,单位 %,保留3位有效数字 | -| Master AsyncTask threadpool | 21 | threadpool使用信息,格式为:idleNum/currentTotalNum/MaxThreadNum/waitingTaskNum/rate | +| write ETCD queue | 15 | 队列使用信息 | +| ETCDrequest success rate | 6 | 请求使用率,单位 %,保留3位有效数字 | +| OBSrequest success rate | 6 | 请求使用率,单位 %,保留3位有效数字 | +| Master AsyncTask threadpool | 21 | threadpool使用信息,格式为:idleNum/currentTotalNum/MaxThreadNum/waitingTaskNum/rate | #### SDK与worker访问日志关键请求参数 diff --git a/docs/source_zh_cn/development-guide/hetero.md b/docs/source_zh_cn/development-guide/hetero.md index 01398cb5b13a3c5133e7b00aa111aaddcede0b9c..7c58cf25baaffe5a1473fcf6f54ff00faceb8812 100644 --- a/docs/source_zh_cn/development-guide/hetero.md +++ b/docs/source_zh_cn/development-guide/hetero.md @@ -423,7 +423,7 @@ def hetero_mset_d2h_mget_h2d(): ```cpp -#include "datasystem/hetero_cache/hetero_client.h" +#include "datasystem/hetero_client.h" #include ConnectOptions connectOptions = { .host = "127.0.0.1", .port = 31501 }; diff --git a/example/src/kv_cache/kv_example.cpp b/example/src/kv_cache/kv_example.cpp index 9b2b7686d616e5dc1e5c6689121d69129680f25c..22e6deb30401b6e158cb2ad994b3e847fa1904be 100644 --- a/example/src/kv_cache/kv_example.cpp +++ b/example/src/kv_cache/kv_example.cpp @@ -20,7 +20,7 @@ #include -#include "datasystem/kv_cache.h" +#include "datasystem/kv_client.h" using datasystem::ConnectOptions; using datasystem::Context; diff --git a/example/src/object_cache/object_example.cpp b/example/src/object_cache/object_example.cpp index e81e438a81756d11b65c3b48a07458800c0d07f7..191481aa6d1cb42c7e3e5c57c675e6c5971d20a1 100644 --- a/example/src/object_cache/object_example.cpp +++ b/example/src/object_cache/object_example.cpp @@ -20,7 +20,7 @@ #include -#include "datasystem/object_cache.h" +#include "datasystem/object_client.h" using datasystem::Buffer; using datasystem::ConnectOptions; diff --git a/include/datasystem/datasystem.h b/include/datasystem/datasystem.h index 141df4061d59ba04ada6b0dee191bca920c4faa0..63a8b17516ebdbdc2b4ac1d40b7370c2a75b6d19 100644 --- a/include/datasystem/datasystem.h +++ b/include/datasystem/datasystem.h @@ -23,9 +23,9 @@ #include -#include "datasystem/hetero_cache/hetero_client.h" -#include "datasystem/object_cache/object_client.h" -#include "datasystem/kv_cache/kv_client.h" +#include "datasystem/hetero_client.h" +#include "datasystem/object_client.h" +#include "datasystem/kv_client.h" #include "datasystem/utils/status.h" namespace datasystem { diff --git a/include/datasystem/hetero_cache/device_common.h b/include/datasystem/hetero/device_common.h similarity index 92% rename from include/datasystem/hetero_cache/device_common.h rename to include/datasystem/hetero/device_common.h index c00b3edb6189695182d5b1258ac7260ff4a35701..147c530a1eacac44f58381c87f525617e3fe35bd 100644 --- a/include/datasystem/hetero_cache/device_common.h +++ b/include/datasystem/hetero/device_common.h @@ -19,8 +19,8 @@ * Description: Definition of heterogeneous device tensor description structure. */ -#ifndef DATASYSTEM_HETERO_CACHE_DEVICE_COMMON_H -#define DATASYSTEM_HETERO_CACHE_DEVICE_COMMON_H +#ifndef DATASYSTEM_HETERO_DEVICE_COMMON_H +#define DATASYSTEM_HETERO_DEVICE_COMMON_H #include #include diff --git a/include/datasystem/hetero_cache/future.h b/include/datasystem/hetero/future.h similarity index 95% rename from include/datasystem/hetero_cache/future.h rename to include/datasystem/hetero/future.h index a268e0abeeb6d4c6c8b7c7ff6d37c45156c56b37..3973616100f90cdf633928856af702039954d5ea 100644 --- a/include/datasystem/hetero_cache/future.h +++ b/include/datasystem/hetero/future.h @@ -19,8 +19,8 @@ * Description: Data system Future class implementation. */ -#ifndef DATASYSTEM_HETERO_CACHE_FUTURE_H -#define DATASYSTEM_HETERO_CACHE_FUTURE_H +#ifndef DATASYSTEM_HETERO_FUTURE_H +#define DATASYSTEM_HETERO_FUTURE_H #include #include diff --git a/include/datasystem/hetero_cache/hetero_client.h b/include/datasystem/hetero_client.h similarity index 98% rename from include/datasystem/hetero_cache/hetero_client.h rename to include/datasystem/hetero_client.h index ec626fe4a15b836fb40a85c8fdd661b0c4413d00..a169b18a4a8377a08c134275a45f2e2d03d47a4b 100644 --- a/include/datasystem/hetero_cache/hetero_client.h +++ b/include/datasystem/hetero_client.h @@ -18,15 +18,15 @@ * Description: Data system Hetero cache client management. */ -#ifndef DATASYSTEM_HETERO_CACHE_HETERO_CLIENT_H -#define DATASYSTEM_HETERO_CACHE_HETERO_CLIENT_H +#ifndef DATASYSTEM_HETERO_CLIENT_H +#define DATASYSTEM_HETERO_CLIENT_H #include #include -#include "datasystem/hetero_cache/device_common.h" -#include "datasystem/hetero_cache/future.h" -#include "datasystem/kv_cache/kv_client.h" +#include "datasystem/hetero/device_common.h" +#include "datasystem/hetero/future.h" +#include "datasystem/kv_client.h" #include "datasystem/utils/connection.h" #include "datasystem/utils/status.h" diff --git a/include/datasystem/kv_cache/read_only_buffer.h b/include/datasystem/kv/read_only_buffer.h similarity index 93% rename from include/datasystem/kv_cache/read_only_buffer.h rename to include/datasystem/kv/read_only_buffer.h index 4979f451108ddcdda224ea6215fd012701bbed4e..4e65d7176e2db1c014b565f4a0dbf21f5920f923 100644 --- a/include/datasystem/kv_cache/read_only_buffer.h +++ b/include/datasystem/kv/read_only_buffer.h @@ -18,13 +18,13 @@ * Description: This file is used to read data in the server. */ -#ifndef DATASYSTEM_KV_CACHE_READ_ONLY_BUFFER_H -#define DATASYSTEM_KV_CACHE_READ_ONLY_BUFFER_H +#ifndef DATASYSTEM_KV_READ_ONLY_BUFFER_H +#define DATASYSTEM_KV_READ_ONLY_BUFFER_H #include #include -#include "datasystem/object_cache/buffer.h" +#include "datasystem/object/buffer.h" #include "datasystem/utils/status.h" namespace datasystem { diff --git a/include/datasystem/kv_cache.h b/include/datasystem/kv_cache.h deleted file mode 100644 index 8b2a4d95345c0a9f36af81c120436263bd657e30..0000000000000000000000000000000000000000 --- a/include/datasystem/kv_cache.h +++ /dev/null @@ -1,25 +0,0 @@ -/** - * Copyright (c) Huawei Technologies Co., Ltd. 2022. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef DATASYSTEM_KV_CACHE_H -#define DATASYSTEM_KV_CACHE_H - -#include "datasystem/context/context.h" -#include "datasystem/kv_cache/read_only_buffer.h" -#include "datasystem/kv_cache/kv_client.h" -#include "datasystem/utils/status.h" - -#endif // DATASYSTEM_KV_CACHE_H \ No newline at end of file diff --git a/include/datasystem/kv_cache/kv_client.h b/include/datasystem/kv_client.h similarity index 98% rename from include/datasystem/kv_cache/kv_client.h rename to include/datasystem/kv_client.h index cb7896715d6d0ba6425c576660238d7c4b9d353a..b1fd14e9e1ac07765a085b9e53ff242359de3662 100644 --- a/include/datasystem/kv_cache/kv_client.h +++ b/include/datasystem/kv_client.h @@ -17,16 +17,17 @@ /** * Description: Data system state cache client management. */ -#ifndef DATASYSTEM_KV_CACHE_KV_CLIENT_H -#define DATASYSTEM_KV_CACHE_KV_CLIENT_H +#ifndef DATASYSTEM_KV_CLIENT_H +#define DATASYSTEM_KV_CLIENT_H #include #include #include -#include "datasystem/object_cache/buffer.h" -#include "datasystem/object_cache/object_enum.h" -#include "datasystem/kv_cache/read_only_buffer.h" +#include "datasystem/context/context.h" +#include "datasystem/object/buffer.h" +#include "datasystem/object/object_enum.h" +#include "datasystem/kv/read_only_buffer.h" #include "datasystem/utils/connection.h" #include "datasystem/utils/optional.h" #include "datasystem/utils/status.h" diff --git a/include/datasystem/object_cache/buffer.h b/include/datasystem/object/buffer.h similarity index 98% rename from include/datasystem/object_cache/buffer.h rename to include/datasystem/object/buffer.h index cee00c66999a3e8f37db75efade8bdf4b90edca5..951b52763f1b1d5a025b2c24dfb29d2cb2558aab 100644 --- a/include/datasystem/object_cache/buffer.h +++ b/include/datasystem/object/buffer.h @@ -18,8 +18,8 @@ * Description: This file is used to read and write data and publish data to the server. */ -#ifndef DATASYSTEM_OBJECT_CACHE_BUFFER_H -#define DATASYSTEM_OBJECT_CACHE_BUFFER_H +#ifndef DATASYSTEM_OBJECT_BUFFER_H +#define DATASYSTEM_OBJECT_BUFFER_H #include #include diff --git a/include/datasystem/object_cache/object_enum.h b/include/datasystem/object/object_enum.h similarity index 100% rename from include/datasystem/object_cache/object_enum.h rename to include/datasystem/object/object_enum.h diff --git a/include/datasystem/object_cache.h b/include/datasystem/object_cache.h deleted file mode 100644 index 523096dca04f4713951d14fce4c8d7c650db3963..0000000000000000000000000000000000000000 --- a/include/datasystem/object_cache.h +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Copyright (c) Huawei Technologies Co., Ltd. 2022. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef DATASYSTEM_OBJECT_CACHE_H -#define DATASYSTEM_OBJECT_CACHE_H - -#include "datasystem/context/context.h" -#include "datasystem/object_cache/buffer.h" -#include "datasystem/object_cache/object_client.h" -#include "datasystem/object_cache/object_enum.h" -#include "datasystem/utils/connection.h" -#include "datasystem/utils/optional.h" -#include "datasystem/utils/status.h" -#include "datasystem/utils/string_view.h" - -#endif // DATASYSTEM_OBJECT_CACHE_H \ No newline at end of file diff --git a/include/datasystem/object_cache/object_client.h b/include/datasystem/object_client.h similarity index 97% rename from include/datasystem/object_cache/object_client.h rename to include/datasystem/object_client.h index ee186a107da4a8ba3b39fe0b156d1a4d8de3e77c..b15cff24c413ddff815ebd890d9f196d0dd92688 100644 --- a/include/datasystem/object_cache/object_client.h +++ b/include/datasystem/object_client.h @@ -18,8 +18,8 @@ * Description: Data system object cache client management. */ -#ifndef DATASYSTEM_OBJECT_CACHE_OBJECT_CLIENT_H -#define DATASYSTEM_OBJECT_CACHE_OBJECT_CLIENT_H +#ifndef DATASYSTEM_OBJECT_CLIENT_H +#define DATASYSTEM_OBJECT_CLIENT_H #include #include @@ -29,11 +29,13 @@ #include #include -#include "datasystem/object_cache/buffer.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/context/context.h" +#include "datasystem/object/buffer.h" +#include "datasystem/object/object_enum.h" #include "datasystem/utils/connection.h" #include "datasystem/utils/optional.h" #include "datasystem/utils/status.h" +#include "datasystem/utils/string_view.h" namespace datasystem { namespace object_cache { diff --git a/include/datasystem/utils/connection.h b/include/datasystem/utils/connection.h index 4fb460de3bd5414e5dc9369cda2b80cc7452a751..03352c2583258a2376d2451f4c88f4c3791a510b 100644 --- a/include/datasystem/utils/connection.h +++ b/include/datasystem/utils/connection.h @@ -20,7 +20,7 @@ #include "datasystem/utils/sensitive_value.h" #include "datasystem/utils/string_view.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object/object_enum.h" namespace datasystem { struct ConnectOptions { diff --git a/k8s/helm_chart/datasystem/values.yaml b/k8s/helm_chart/datasystem/values.yaml index ac6c2f18c8bf2e48c0e9c99fffe516b7901cc5b3..0da7197edf643bc6634fd897d55187a48e8e328a 100644 --- a/k8s/helm_chart/datasystem/values.yaml +++ b/k8s/helm_chart/datasystem/values.yaml @@ -7,7 +7,7 @@ global: imageRegistry: "" images: # Image name and tag in 'name:tag' format - datasystem: "openyuanrong_datasystem:0.5.0" + datasystem: "yr_datasystem:v0.1" # Config ETCD table prefix, the value should only contain english alphabetics (a-zA-Z), numbers (0-9) only. azName: "AZ1" diff --git a/scripts/build_thirdparty.sh b/scripts/build_thirdparty.sh index a557cb5804f993890c25e84de7e427c6caf319db..465b747113462506a2d8feb8cd40b4c477891f5d 100644 --- a/scripts/build_thirdparty.sh +++ b/scripts/build_thirdparty.sh @@ -80,33 +80,109 @@ MULTI_BUILD_PATH="$(realpath "${BUILD_PATH}/multi_build")" BUILD_THREAD_NUM=$2 CMAKE_OPTIONS=("${@:3}") DEPENDENCY_DIR="${MULTI_BUILD_PATH}"/dependency +TIME_DIR="${MULTI_BUILD_PATH}"/timing +PROGRESS_DIR="${MULTI_BUILD_PATH}"/progress -on_exit() { - local exit_status=$? - if [ $exit_status -eq 0 ]; then - echo -e "---- Compilie ${cmake_file%%.*} successfully ----" - else - echo -e "---- Compilie ${cmake_file%%.*} failed, see ${tmp_compile_dir}/log for more details ----" - fi +# total libs number +TOTAL_LIBS=$((${#CMAKE_FILES_L0[@]} + ${#CMAKE_FILES_L1[@]})) + +function log() { + local progress=$(get_progress_percent) + printf "[%3d%%] %s\n" "$progress" "$1" +} + +function get_progress_percent() { + local completed_count=$(ls -1 "${PROGRESS_DIR}" 2>/dev/null | wc -l) + local percent=$((completed_count * 100 / TOTAL_LIBS)) + echo "$percent" +} + +function on_exit() { + local exit_status=$? + local lib_name="${cmake_file%%.*}" + local end_time=$(date +%s) + local total_duration=$((end_time - overall_start_time)) + + if [ $exit_status -eq 0 ]; then + echo "$total_duration" > "${TIME_DIR}/${lib_name}.time" + touch "${PROGRESS_DIR}/${lib_name}.complete" + log "$lib_name build success - ${total_duration}s" + else + log "$lib_name build failed!!! see ${tmp_compile_dir}/log for details" + fi +} + +function wait_for_dependencies() { + local lib_name=$1 + local dependencies=$2 + local lib_dependencies=() + + if [ -n "$dependencies" ]; then + lib_dependencies_str=$(echo "$dependencies" | tr ':' ' ') + IFS=' ' read -r -a lib_dependencies <<< "${lib_dependencies_str}" + + log "$lib_name is still waiting for: ${lib_dependencies_str}" + + local timeout=1800 + local wait_start_time=$(date +%s) + + for ((i=1; i<=timeout; i++)); do + all_files_created=true + missing_deps=() + for file in "${lib_dependencies[@]}"; do + if [ ! -f "${DEPENDENCY_DIR}/${file}.complete" ]; then + all_files_created=false + missing_deps+=("$file") + fi + done + + if [ "$all_files_created" = true ]; then + local current_time=$(date +%s) + local wait_duration=$((current_time - wait_start_time)) + log "$lib_name all dependencies ready (waited ${wait_duration}s)" + return 0 + fi + + # 每30秒显示一次等待状态 + if [ $((i % 30)) -eq 0 ]; then + local current_time=$(date +%s) + local elapsed=$((current_time - wait_start_time)) + log "$lib_name still waiting for: ${missing_deps[*]} (${elapsed}s elapsed)" + fi + sleep 1 + done + + log_failed "$lib_name timeout waiting for dependencies" + return 1 + fi + return 0 } function main() { - echo -e "---- Start compiling third-party libraries in parallel ----" + log "Start compiling thirdparty libraries in parallel" local start_time_s local end_time_s local sumTime start_time_s=$(date +%s) mkdir -p ${DEPENDENCY_DIR} + mkdir -p ${TIME_DIR} + mkdir -p ${PROGRESS_DIR} + + log "Total libraries to compile: $TOTAL_LIBS" + # 编译 L0 级别的库(无依赖) + log "Building independent libraries (L0)" for cmake_file in "${CMAKE_FILES_L0[@]}"; do tmp_compile_dir="${MULTI_BUILD_PATH}/${cmake_file%%.*}" mkdir -p "${tmp_compile_dir}" ( - echo -e "---- Start compiling ${cmake_file%%.*} ----" - trap on_exit EXIT - cd "${tmp_compile_dir}" - cat > "CMakeLists.txt" << EOF + lib_name="${cmake_file%%.*}" + overall_start_time=$(date +%s) + log "Building $lib_name..." + trap on_exit EXIT + cd "${tmp_compile_dir}" + cat > "CMakeLists.txt" << EOF cmake_minimum_required(VERSION 3.14.1) set(CMAKE_SOURCE_DIR ${DATASYSTEM_HOME}) set(CMAKE_BINARY_DIR ${BUILD_PATH}) @@ -115,55 +191,43 @@ include(${DATASYSTEM_HOME}/cmake/options.cmake) include(${DATASYSTEM_HOME}/cmake/util.cmake) include(${DATASYSTEM_HOME}/cmake/external_libs/${cmake_file}) EOF - mkdir -p build && cd build - cmake "${CMAKE_OPTIONS[@]}" .. >> "${tmp_compile_dir}/log" 2>&1 - cmake --build . >> "${tmp_compile_dir}/log" 2>&1 - touch ${DEPENDENCY_DIR}/${cmake_file%%.*}.complete + mkdir -p build && cd build + cmake "${CMAKE_OPTIONS[@]}" .. >> "${tmp_compile_dir}/log" 2>&1 + cmake --build . >> "${tmp_compile_dir}/log" 2>&1 + touch ${DEPENDENCY_DIR}/${lib_name}.complete ) & done touch ${MULTI_BUILD_PATH}/L1_ENV + + # 编译 L1 级别的库(有依赖) + log "Building dependent libraries (L1)" for cmake_file in "${CMAKE_FILES_L1[@]}"; do tmp_compile_dir="${MULTI_BUILD_PATH}/${cmake_file%%.*}" mkdir -p "${tmp_compile_dir}" - for dep in "${DEPENDENCIES[@]}"; - do - local lib_dependencies=() - dependencies=$(echo "${dep}" | grep "${cmake_file%%.*}:" | cut -d':' -f2-) - if [ -z "${dependencies}" ]; then - continue - else - break - fi - done + + # 查找依赖关系 + dependencies="" + for dep in "${DEPENDENCIES[@]}"; do + if [[ "$dep" == "${cmake_file%%.*}:"* ]]; then + dependencies=$(echo "${dep}" | cut -d':' -f2-) + break + fi + done + ( - lib_dependencies_str=$(echo ${dependencies} | tr ':' ' ') - IFS=' ' read -r -a lib_dependencies <<< "${lib_dependencies_str}" - timeout=1800 - - echo -e "---- Prepare compiling ${cmake_file%%.*} ----" - for ((i=1; i<=timeout; i++)); do - all_files_created=true - for file in "${lib_dependencies[@]}"; do - if [ ! -f "${DEPENDENCY_DIR}/${file}.complete" ]; then - echo "Waiting for file $file to be created... (Attempt $i of $timeout)" - all_files_created=false - break - fi - done - - if [ "$all_files_created" = true ]; then - echo "All files have been created." - break - fi + lib_name="${cmake_file%%.*}" + overall_start_time=$(date +%s) + # 等待依赖项完成 + if ! wait_for_dependencies "$lib_name" "$dependencies"; then + exit 1 + fi - sleep 1 # 每隔1秒检查一次 - done - echo -e "---- Start compiling ${cmake_file%%.*} ----" - trap on_exit EXIT - cd "${tmp_compile_dir}" - cat > "CMakeLists.txt" << EOF + log "Building $lib_name..." + trap on_exit EXIT + cd "${tmp_compile_dir}" + cat > "CMakeLists.txt" << EOF cmake_minimum_required(VERSION 3.14.1) set(CMAKE_SOURCE_DIR ${DATASYSTEM_HOME}) set(CMAKE_BINARY_DIR ${BUILD_PATH}) @@ -177,15 +241,16 @@ EOF mkdir -p build && cd build cmake "${CMAKE_OPTIONS[@]}" .. >> "${tmp_compile_dir}/log" 2>&1 cmake --build . -j "${BUILD_THREAD_NUM}" >> "${tmp_compile_dir}/log" 2>&1 - touch ${DEPENDENCY_DIR}/${cmake_file%%.*}.complete + touch ${DEPENDENCY_DIR}/${lib_name}.complete ) & done wait end_time_s=$(date +%s) sumTime=$(($end_time_s - $start_time_s)) - echo -e "---- Finish compiling third-party libraries in parallel. Total use time:$sumTime seconds ----" + + log "Compile thirdparty libraries success, total wall time: ${sumTime}s" exit 0 } -main "$@" +main "$@" \ No newline at end of file diff --git a/src/datasystem/client/hetero_cache/device_buffer.h b/src/datasystem/client/hetero_cache/device_buffer.h index a880cc1927569751e547b5649492ffa42e0b176e..f67b0f22f6594015cd2903644924332bdae1fb2b 100644 --- a/src/datasystem/client/hetero_cache/device_buffer.h +++ b/src/datasystem/client/hetero_cache/device_buffer.h @@ -31,8 +31,8 @@ #include #include "datasystem/client/hetero_cache/device_util.h" -#include "datasystem/hetero_cache/future.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/hetero/future.h" +#include "datasystem/object/object_enum.h" #include "datasystem/utils/status.h" namespace datasystem { diff --git a/src/datasystem/client/hetero_cache/device_util.h b/src/datasystem/client/hetero_cache/device_util.h index a0b9b8b6925aaf3f5e1600882378aa19589fb499..46bce9a19e82ebaa22f7a963c2d4e860e06b8b40 100644 --- a/src/datasystem/client/hetero_cache/device_util.h +++ b/src/datasystem/client/hetero_cache/device_util.h @@ -24,7 +24,7 @@ #include #include "datasystem/common/constants.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object/object_enum.h" namespace datasystem { /** diff --git a/src/datasystem/client/hetero_cache/hetero_client.cpp b/src/datasystem/client/hetero_cache/hetero_client.cpp index 8fa5f0b9dcba5a553afdb111f0ffe376656fcafb..1c3b85ff08f8fae64058b13f31c68ffca6a76b68 100644 --- a/src/datasystem/client/hetero_cache/hetero_client.cpp +++ b/src/datasystem/client/hetero_cache/hetero_client.cpp @@ -18,7 +18,7 @@ * Description: Data system Object Cache Client management. */ -#include "datasystem/hetero_cache/hetero_client.h" +#include "datasystem/hetero_client.h" #include "datasystem/client/hetero_cache/device_util.h" #include "datasystem/client/object_cache/object_client_impl.h" diff --git a/src/datasystem/client/kv_cache/kv_client.cpp b/src/datasystem/client/kv_cache/kv_client.cpp index 0cd1f5788d67684dc14ce7596180379495965da4..690d7527a8a659e7121cb3739725a7b501a5b113 100644 --- a/src/datasystem/client/kv_cache/kv_client.cpp +++ b/src/datasystem/client/kv_cache/kv_client.cpp @@ -17,7 +17,7 @@ /** * Description: Data system State Cache Client management. */ -#include "datasystem/kv_cache/kv_client.h" +#include "datasystem/kv_client.h" #include #include @@ -34,7 +34,7 @@ #include "datasystem/common/util/status_helper.h" #include "datasystem/common/util/strings_util.h" #include "datasystem/common/util/uuid_generator.h" -#include "datasystem/kv_cache/read_only_buffer.h" +#include "datasystem/kv/read_only_buffer.h" #include "datasystem/utils/status.h" namespace datasystem { diff --git a/src/datasystem/client/kv_cache/read_only_buffer.cpp b/src/datasystem/client/kv_cache/read_only_buffer.cpp index c6d0979b3dc06e5caea4b7419917b08ad80d706d..b373cefb75012464a3b4c939f07b1be8ded6b950 100644 --- a/src/datasystem/client/kv_cache/read_only_buffer.cpp +++ b/src/datasystem/client/kv_cache/read_only_buffer.cpp @@ -20,7 +20,7 @@ #include "datasystem/common/util/status_helper.h" #include "datasystem/common/log/log.h" -#include "datasystem/kv_cache/read_only_buffer.h" +#include "datasystem/kv/read_only_buffer.h" namespace datasystem { int64_t ReadOnlyBuffer::GetSize() const diff --git a/src/datasystem/client/object_cache/client_worker_api.h b/src/datasystem/client/object_cache/client_worker_api.h index 9e19d3dd2e043e623f0fbd4feec79e5a83c83cfb..58c6f26595a9c1d9a2b59a886112471f77c7f593 100644 --- a/src/datasystem/client/object_cache/client_worker_api.h +++ b/src/datasystem/client/object_cache/client_worker_api.h @@ -36,12 +36,12 @@ #include "datasystem/common/util/strings_util.h" #include "datasystem/common/util/uuid_generator.h" #include "datasystem/common/util/status_helper.h" -#include "datasystem/object_cache/buffer.h" +#include "datasystem/object/buffer.h" #include "datasystem/client/hetero_cache/device_util.h" #include "datasystem/protos/master_object.pb.h" #include "datasystem/protos/object_posix.service.rpc.pb.h" #include "datasystem/protos/object_posix.stub.rpc.pb.h" -#include "datasystem/kv_cache/kv_client.h" +#include "datasystem/kv_client.h" #include "datasystem/protos/p2p_subscribe.pb.h" #include "datasystem/utils/sensitive_value.h" #include "datasystem/utils/status.h" diff --git a/src/datasystem/client/object_cache/device/client_device_object_manager.cpp b/src/datasystem/client/object_cache/device/client_device_object_manager.cpp index d7be67f02707a548028daf437e0a2a25241b2073..919fc11d3b4c9fbe802c1042f82c5782a2e280ee 100644 --- a/src/datasystem/client/object_cache/device/client_device_object_manager.cpp +++ b/src/datasystem/client/object_cache/device/client_device_object_manager.cpp @@ -36,7 +36,7 @@ #include "datasystem/common/util/status_helper.h" #include "datasystem/common/util/thread_pool.h" #include "datasystem/client/hetero_cache/device_buffer.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object/object_enum.h" #include "datasystem/utils/status.h" namespace datasystem { diff --git a/src/datasystem/client/object_cache/device/client_device_object_manager.h b/src/datasystem/client/object_cache/device/client_device_object_manager.h index 8b0b62333ef12033c6a51612ae8e0be4d917426c..ed4f210ed4dcc212ad734aaaf652f9901a840cf0 100644 --- a/src/datasystem/client/object_cache/device/client_device_object_manager.h +++ b/src/datasystem/client/object_cache/device/client_device_object_manager.h @@ -31,7 +31,7 @@ #include "datasystem/client/object_cache/device/device_memory_unit.h" #include "datasystem/client/object_cache/device/p2p_subscribe.h" #include "datasystem/common/device/ascend/acl_device_manager.h" -#include "datasystem/object_cache/object_client.h" +#include "datasystem/object_client.h" #include "datasystem/utils/status.h" namespace datasystem { diff --git a/src/datasystem/client/object_cache/device/future.cpp b/src/datasystem/client/object_cache/device/future.cpp index 576643eb6e631637054c39532cd599652c5efd1b..de4491ddc32acaad52f4b4b252b013c64af2d25b 100644 --- a/src/datasystem/client/object_cache/device/future.cpp +++ b/src/datasystem/client/object_cache/device/future.cpp @@ -15,7 +15,7 @@ * limitations under the License. */ -#include "datasystem/hetero_cache/future.h" +#include "datasystem/hetero/future.h" #include "datasystem/common/device/ascend/acl_pointer_wrapper.h" #include "datasystem/common/rpc/timeout_duration.h" #include "datasystem/common/util/format.h" diff --git a/src/datasystem/client/object_cache/device/p2p_subscribe.cpp b/src/datasystem/client/object_cache/device/p2p_subscribe.cpp index 87bfa2091d1d765cd9c3431d863d5419ffb82a83..bd087b4ea35e13b2720232e772fbfaee398aafcf 100644 --- a/src/datasystem/client/object_cache/device/p2p_subscribe.cpp +++ b/src/datasystem/client/object_cache/device/p2p_subscribe.cpp @@ -34,8 +34,8 @@ #include "datasystem/common/util/raii.h" #include "datasystem/common/util/status_helper.h" #include "datasystem/common/util/strings_util.h" -#include "datasystem/hetero_cache/future.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/hetero/future.h" +#include "datasystem/object/object_enum.h" #include "datasystem/protos/p2p_subscribe.pb.h" #include "datasystem/utils/status.h" diff --git a/src/datasystem/client/object_cache/device/p2p_subscribe.h b/src/datasystem/client/object_cache/device/p2p_subscribe.h index fa0b865b973eb25a6bea61a95e7737abd8cd4901..b95d8650d01199b9173577fdc3833331a1ce7d3d 100644 --- a/src/datasystem/client/object_cache/device/p2p_subscribe.h +++ b/src/datasystem/client/object_cache/device/p2p_subscribe.h @@ -44,8 +44,8 @@ #include "datasystem/common/util/queue/blocking_queue.h" #include "datasystem/common/util/status_helper.h" #include "datasystem/common/util/thread_pool.h" -#include "datasystem/hetero_cache/future.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/hetero/future.h" +#include "datasystem/object/object_enum.h" #include "datasystem/utils/status.h" namespace datasystem { diff --git a/src/datasystem/client/object_cache/device/page_attn_utils.h b/src/datasystem/client/object_cache/device/page_attn_utils.h index 6684e2b7b65ee3f95a05af548dbc997005805664..15284a1cabcec42bdb329f450f661a0e83e175f4 100644 --- a/src/datasystem/client/object_cache/device/page_attn_utils.h +++ b/src/datasystem/client/object_cache/device/page_attn_utils.h @@ -22,7 +22,7 @@ #include -#include "datasystem/hetero_cache/device_common.h" +#include "datasystem/hetero/device_common.h" #include "datasystem/utils/status.h" namespace datasystem { diff --git a/src/datasystem/client/object_cache/object_client.cpp b/src/datasystem/client/object_cache/object_client.cpp index 0689461901e408f69498b7a7443b2a4fe2bdb9a1..e5b6d86e1593f70abe643f059159e87b2a53f20a 100644 --- a/src/datasystem/client/object_cache/object_client.cpp +++ b/src/datasystem/client/object_cache/object_client.cpp @@ -18,7 +18,7 @@ * Description: Data system Object Cache Client management. */ -#include "datasystem/object_cache/object_client.h" +#include "datasystem/object_client.h" #include "datasystem/client/object_cache/object_client_impl.h" #include "datasystem/common/log/access_recorder.h" diff --git a/src/datasystem/client/object_cache/object_client_impl.cpp b/src/datasystem/client/object_cache/object_client_impl.cpp index 82a25fc23dccd52a175965f747bf3b7150cfbb4d..1e5efe420c85abf8184ede54fec0feaa8b1578f8 100644 --- a/src/datasystem/client/object_cache/object_client_impl.cpp +++ b/src/datasystem/client/object_cache/object_client_impl.cpp @@ -60,7 +60,7 @@ #include "datasystem/common/util/uri.h" #include "datasystem/common/util/strings_util.h" #include "datasystem/client/hetero_cache/device_buffer.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object/object_enum.h" #include "datasystem/protos/object_posix.stub.rpc.pb.h" #include "datasystem/utils/sensitive_value.h" #include "datasystem/utils/status.h" diff --git a/src/datasystem/client/object_cache/object_client_impl.h b/src/datasystem/client/object_cache/object_client_impl.h index 8e46ed96733625a0d882a43d0efd2e0a8e04dcf7..b4ddeebc9dc0a95bf495a59f6abbbb670059b8bb 100644 --- a/src/datasystem/client/object_cache/object_client_impl.h +++ b/src/datasystem/client/object_cache/object_client_impl.h @@ -48,11 +48,11 @@ #include "datasystem/common/util/validator.h" #include "datasystem/common/util/wait_post.h" #include "datasystem/client/hetero_cache/device_buffer.h" -#include "datasystem/object_cache/object_client.h" -#include "datasystem/hetero_cache/hetero_client.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object_client.h" +#include "datasystem/hetero_client.h" +#include "datasystem/object/object_enum.h" #include "datasystem/protos/object_posix.pb.h" -#include "datasystem/kv_cache/kv_client.h" +#include "datasystem/kv_client.h" #include "datasystem/common/rpc/rpc_auth_keys.h" #include "datasystem/utils/sensitive_value.h" #include "datasystem/utils/string_view.h" diff --git a/src/datasystem/common/immutable_string/ref_count_string.h b/src/datasystem/common/immutable_string/ref_count_string.h index 75294a15a8f3cba7b703c15b4574b438739eb33c..484d0216e47a5017df4154e9d28bd2eb69f430a7 100644 --- a/src/datasystem/common/immutable_string/ref_count_string.h +++ b/src/datasystem/common/immutable_string/ref_count_string.h @@ -94,8 +94,8 @@ private: * (Multi threads may check countRef_ is 0 and try to call erase) * It can be seen that a value is effectively erasable only when the delRef_ count goes down to 0. */ - mutable std::atomic_int32_t delRef_; - mutable std::atomic_int32_t countRef_; + mutable std::atomic_int32_t delRef_{ 0 }; + mutable std::atomic_int32_t countRef_{ 0 }; std::string value_; size_t hash_; }; diff --git a/src/datasystem/common/object_cache/buffer.cpp b/src/datasystem/common/object_cache/buffer.cpp index 7f1f623fb1cf6ae12b0ebe934023a00ea69db3e4..cdc93978cae6f535d22bf736f3bb60d402b0af7c 100644 --- a/src/datasystem/common/object_cache/buffer.cpp +++ b/src/datasystem/common/object_cache/buffer.cpp @@ -18,7 +18,7 @@ * Description: This file is used to read and write data and publish data to the server. */ -#include "datasystem/object_cache/buffer.h" +#include "datasystem/object/buffer.h" #include diff --git a/src/datasystem/common/object_cache/buffer_composer.h b/src/datasystem/common/object_cache/buffer_composer.h index dfadb4127a1329d5eb86488a53e6d564ed1a546a..12e397f27f6b251d370faa0797cb65f333872402 100644 --- a/src/datasystem/common/object_cache/buffer_composer.h +++ b/src/datasystem/common/object_cache/buffer_composer.h @@ -24,7 +24,7 @@ #include #include -#include "datasystem/object_cache/buffer.h" +#include "datasystem/object/buffer.h" #include "datasystem/client/hetero_cache/device_util.h" namespace datasystem { diff --git a/src/datasystem/common/object_cache/object_base.h b/src/datasystem/common/object_cache/object_base.h index 087f00bf8467b37c2d17fe1c87e1d3dfc815f093..7f69fd8118f53fc159655928632245c9eb5f7d2b 100644 --- a/src/datasystem/common/object_cache/object_base.h +++ b/src/datasystem/common/object_cache/object_base.h @@ -30,8 +30,8 @@ #include "datasystem/common/object_cache/object_bitmap.h" #include "datasystem/common/rpc/rpc_message.h" #include "datasystem/common/shared_memory/shm_unit.h" -#include "datasystem/object_cache/object_client.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object_client.h" +#include "datasystem/object/object_enum.h" #include "datasystem/utils/optional.h" #include "datasystem/utils/status.h" diff --git a/src/datasystem/common/object_cache/object_bitmap.h b/src/datasystem/common/object_cache/object_bitmap.h index 8bbc3bf3a11b571ee3d7ed3fa055689ca6e31573..bd07612311807240cd1a1260b02a1fd91505876a 100644 --- a/src/datasystem/common/object_cache/object_bitmap.h +++ b/src/datasystem/common/object_cache/object_bitmap.h @@ -22,7 +22,7 @@ #define DATASYSTEM_OBJECT_CACHE_OBJECT_INTERFACE_BITMAP_H #include -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object/object_enum.h" #include "datasystem/common/util/bitmask_enum.h" namespace datasystem { diff --git a/src/datasystem/master/metadata_redirect_helper.h b/src/datasystem/master/metadata_redirect_helper.h index 39ceb2bf4ba0b7b1197ec7d554f93966616da9f1..c4716172428617445410e640b494b09b47b673ac 100644 --- a/src/datasystem/master/metadata_redirect_helper.h +++ b/src/datasystem/master/metadata_redirect_helper.h @@ -150,6 +150,13 @@ protected: VLOG(1) << "receive redirect object: " << id; return; } + std::string localAddr; + if (etcdCM_->CheckIsLocalNodeIsUpdate(localAddr)) { + response.set_meta_is_moving(true); + RedirectMetaInfo *info = response.mutable_info(); + info->set_redirect_meta_address(localAddr); + return; + } CheckNeedToRedirectOrNot(id, redirect, newMetaAddr); INJECT_POINT("redirect.create.update.copy.meta", [&newMetaAddr, &redirect](std::string addr) { newMetaAddr = addr; @@ -184,6 +191,13 @@ protected: if (!redirect) { return; } + std::string localAddr; + if (etcdCM_->CheckIsLocalNodeIsUpdate(localAddr)) { + rsp.set_meta_is_moving(true); + RedirectMetaInfo *info = rsp.add_info(); + info->set_redirect_meta_address(localAddr); + return; + } std::unordered_map> redirectQueryObjKeys; GroupRedirctObjectByNewMetaAddr(ids, redirectQueryObjKeys); bool isMoving = false; diff --git a/src/datasystem/master/object_cache/device/master_dev_oc_directory.h b/src/datasystem/master/object_cache/device/master_dev_oc_directory.h index cfd29a2347f96370c9a224b2dcb55d94724fe383..2335a200d3c3609eb9a392d985c3a3893a4d503b 100644 --- a/src/datasystem/master/object_cache/device/master_dev_oc_directory.h +++ b/src/datasystem/master/object_cache/device/master_dev_oc_directory.h @@ -33,7 +33,7 @@ #include "datasystem/common/immutable_string/immutable_string.h" #include "datasystem/common/util/request_table.h" #include "datasystem/client/hetero_cache/device_util.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object/object_enum.h" #include "datasystem/protos/master_object.pb.h" #include "datasystem/protos/p2p_subscribe.pb.h" #include "datasystem/utils/status.h" diff --git a/src/datasystem/master/object_cache/device/master_dev_oc_manager.cpp b/src/datasystem/master/object_cache/device/master_dev_oc_manager.cpp index 2137c3fb55aebd2124371cab46f4809e64f0d69a..990b7d3045b728debfc5437fb6c6055a62a34309 100644 --- a/src/datasystem/master/object_cache/device/master_dev_oc_manager.cpp +++ b/src/datasystem/master/object_cache/device/master_dev_oc_manager.cpp @@ -32,7 +32,7 @@ #include "datasystem/master/object_cache/device/master_dev_hccl_rootinfo.h" #include "datasystem/master/object_cache/device/master_dev_npu_events.h" #include "datasystem/master/object_cache/device/master_dev_oc_directory.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object/object_enum.h" #include "datasystem/protos/master_object.pb.h" #include "datasystem/protos/p2p_subscribe.pb.h" #include "datasystem/utils/status.h" diff --git a/src/datasystem/master/object_cache/oc_metadata_manager.cpp b/src/datasystem/master/object_cache/oc_metadata_manager.cpp index 7fdb92e77ae1746a25ab973483746501b498c565..9efd1180edbb3ef0809ef97d0196d85d3373df45 100644 --- a/src/datasystem/master/object_cache/oc_metadata_manager.cpp +++ b/src/datasystem/master/object_cache/oc_metadata_manager.cpp @@ -59,7 +59,7 @@ #include "datasystem/master/object_cache/oc_notify_worker_manager.h" #include "datasystem/master/object_cache/store/meta_async_queue.h" #include "datasystem/master/object_cache/store/object_meta_store.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object/object_enum.h" #include "datasystem/protos/master_object.pb.h" #include "datasystem/protos/object_posix.pb.h" #include "datasystem/protos/worker_object.pb.h" diff --git a/src/datasystem/master/object_cache/oc_metadata_manager.h b/src/datasystem/master/object_cache/oc_metadata_manager.h index 3f65093d171f568078ae4d733ac98ff8b985f7ab..b6ffbbcde804b75f95eaec17a33af99682077574 100644 --- a/src/datasystem/master/object_cache/oc_metadata_manager.h +++ b/src/datasystem/master/object_cache/oc_metadata_manager.h @@ -39,7 +39,7 @@ #include "datasystem/common/l2cache/persistence_api.h" #include "datasystem/common/rpc/rpc_server_stream_base.h" #include "datasystem/master/object_cache/device/master_dev_oc_manager.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object/object_enum.h" #include "datasystem/worker/hash_ring/hash_ring.h" #include "datasystem/common/eventloop/timer_queue.h" #include "datasystem/common/immutable_string/immutable_string.h" diff --git a/src/datasystem/pybind_api/pybind_register_hetero.cpp b/src/datasystem/pybind_api/pybind_register_hetero.cpp index 0ee5d5a7de260407543fa6e1aa4d447d8bd02ca7..453d4ab90b0118da3863b6c53295226577f6a633 100644 --- a/src/datasystem/pybind_api/pybind_register_hetero.cpp +++ b/src/datasystem/pybind_api/pybind_register_hetero.cpp @@ -29,10 +29,10 @@ #include "datasystem/common/log/log.h" #include "datasystem/common/log/trace.h" #include "datasystem/common/util/raii.h" -#include "datasystem/hetero_cache/hetero_client.h" -#include "datasystem/hetero_cache/future.h" -#include "datasystem/kv_cache/kv_client.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/hetero_client.h" +#include "datasystem/hetero/future.h" +#include "datasystem/kv_client.h" +#include "datasystem/object/object_enum.h" #include "datasystem/pybind_api/pybind_register.h" using datasystem::ConnectOptions; diff --git a/src/datasystem/pybind_api/pybind_register_kv.cpp b/src/datasystem/pybind_api/pybind_register_kv.cpp index 0e2d91f9537b1fcb7799888ba9399b58551e31cd..771bc5b5fd40ff6e7347b40eea30676b68621dc7 100644 --- a/src/datasystem/pybind_api/pybind_register_kv.cpp +++ b/src/datasystem/pybind_api/pybind_register_kv.cpp @@ -22,7 +22,7 @@ #include -#include "datasystem/kv_cache/kv_client.h" +#include "datasystem/kv_client.h" #include "datasystem/client/object_cache/object_client_impl.h" #include "datasystem/common/log/log.h" #include "datasystem/common/log/access_recorder.h" diff --git a/src/datasystem/pybind_api/pybind_register_object.cpp b/src/datasystem/pybind_api/pybind_register_object.cpp index 4304df2c93a60a5f3b4f82aa8ec14175fdf37c5e..ec23c77bfbc0afce3a45ed8a16784dd67163726d 100644 --- a/src/datasystem/pybind_api/pybind_register_object.cpp +++ b/src/datasystem/pybind_api/pybind_register_object.cpp @@ -31,9 +31,9 @@ #include "datasystem/common/log/log.h" #include "datasystem/common/log/trace.h" #include "datasystem/common/util/format.h" -#include "datasystem/object_cache/buffer.h" -#include "datasystem/object_cache/object_client.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object/buffer.h" +#include "datasystem/object_client.h" +#include "datasystem/object/object_enum.h" #include "datasystem/pybind_api/pybind_register.h" #include "datasystem/utils/status.h" diff --git a/src/datasystem/worker/cluster_manager/etcd_cluster_manager.cpp b/src/datasystem/worker/cluster_manager/etcd_cluster_manager.cpp index eadad6bff76a874eda152db1fb7914eec3c79655..53816df6ceda17e63f2f79eb877ac4371591084b 100644 --- a/src/datasystem/worker/cluster_manager/etcd_cluster_manager.cpp +++ b/src/datasystem/worker/cluster_manager/etcd_cluster_manager.cpp @@ -1343,6 +1343,12 @@ Status EtcdClusterManager::GetPrimaryReplicaDbNames(const HostPort &address, std return replicaManager_->GetPrimaryReplicaDbNames(workerUuid, dbNames); } +bool EtcdClusterManager::CheckIsLocalNodeIsUpdate(std::string &localAddr) +{ + localAddr = workerAddress_.ToString(); + return hashRing_->CheckIsLocalNodeIsUpdate(); +} + std::set EtcdClusterManager::GetNodesInTable() { std::set nodes; diff --git a/src/datasystem/worker/cluster_manager/etcd_cluster_manager.h b/src/datasystem/worker/cluster_manager/etcd_cluster_manager.h index fb485e32913e2cd0940dc38e6e5836b0109a01aa..1fb0f37e29bf085925638ad90088869c2e9177f9 100644 --- a/src/datasystem/worker/cluster_manager/etcd_cluster_manager.h +++ b/src/datasystem/worker/cluster_manager/etcd_cluster_manager.h @@ -205,6 +205,12 @@ public: */ Status GetNodeAddrListFromEtcd(std::vector &nodeAddrs); + /** + * @brief Check local node is update node. + * @return true if local node is update node. + */ + bool CheckIsLocalNodeIsUpdate(std::string &localAddr); + /** * @brief Returns all of the currently tracked nodes * @param[out] nodeAddrs HostPort address of all the nodes diff --git a/src/datasystem/worker/hash_ring/hash_ring.cpp b/src/datasystem/worker/hash_ring/hash_ring.cpp index bc7349b2a8581df8ec94b23ad0f57367f3bdbd74..fb05422058278acf5dce692dac81e550e35ee507 100644 --- a/src/datasystem/worker/hash_ring/hash_ring.cpp +++ b/src/datasystem/worker/hash_ring/hash_ring.cpp @@ -262,6 +262,8 @@ Status HashRing::InitRing(const std::string &oldValue, std::unique_ptrinsert({ workerAddr_, workerPb }); @@ -1160,6 +1162,7 @@ void HashRing::UpdateLocalState(bool forceUpdate) auto stateInEtcd = iter->second.state(); if (stateInEtcd == WorkerPb::ACTIVE) { + isUpdateNode_ = false; ChangeStateTo(RUNNING); } else if (stateInEtcd == WorkerPb::LEAVING) { ChangeStateTo(PRE_LEAVING); @@ -1790,6 +1793,23 @@ Status HashRing::GetRelatedWorkerImpl(const std::string &currWorkerUuid, (getNextNode ? "next" : "prev"), currWorkerUuid)); } +bool HashRing::CheckIsLocalNodeIsUpdate() +{ + if (!isUpdateNode_.load()) { + return false; + } + std::shared_lock lock(mutex_); + auto worker = ringInfo_.workers().find(workerAddr_); + if (worker != ringInfo_.workers().end() + && ringInfo_.update_worker_map().find(workerAddr_) != ringInfo_.update_worker_map().end()) { + if ((worker->second.state() == WorkerPb::INITIAL && worker->second.worker_uuid().empty()) + || worker->second.state() == WorkerPb::JOINING) { + return true; + } + } + return false; +} + Status HashRing::GetNextWorker(const std::string &currWorkerUuid, std::string &nextWorkerUuid) { std::string nextWorkerAddr; diff --git a/src/datasystem/worker/hash_ring/hash_ring.h b/src/datasystem/worker/hash_ring/hash_ring.h index 62e375ff95162058c7d21c92a7abc140bf15f2d8..9894839b9d53d2dc36a9e3bcef104691d4391c19 100644 --- a/src/datasystem/worker/hash_ring/hash_ring.h +++ b/src/datasystem/worker/hash_ring/hash_ring.h @@ -108,6 +108,12 @@ public: */ bool IsLeaving(const std::string &workerAddr); + /** + * @brief Check local node is update node. + * @return true if local node is update node. + */ + bool CheckIsLocalNodeIsUpdate(); + /** * @brief Return true if the hash ring is in RUNNING or PRE_RUNNING or PRE_LEAVING state. * @return Return true if the hash ring is in RUNNING or PRE_RUNNING or PRE_LEAVING state. @@ -771,7 +777,7 @@ protected: std::atomic allWorkersVoluntaryScaleDown_{ false }; std::atomic baselineModRevisionOfRing_{ 0 }; std::atomic needForceJoin_{ false }; - + std::atomic isUpdateNode_{ false }; mutable std::shared_timed_mutex mutex_; // protect the following variables HashRingPb ringInfo_; using WorkerAddr = std::string; diff --git a/src/datasystem/worker/object_cache/migrate_data_handler.cpp b/src/datasystem/worker/object_cache/migrate_data_handler.cpp index 9e06f5175372953260a51a04d4ab5574850d4457..d8476205b219a4960b1fa8e007278483b2755c9e 100644 --- a/src/datasystem/worker/object_cache/migrate_data_handler.cpp +++ b/src/datasystem/worker/object_cache/migrate_data_handler.cpp @@ -40,7 +40,7 @@ #include "datasystem/common/util/status_helper.h" #include "datasystem/common/util/strings_util.h" #include "datasystem/common/util/timer.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object/object_enum.h" #include "datasystem/protos/worker_object.pb.h" #include "datasystem/utils/connection.h" #include "datasystem/utils/status.h" diff --git a/src/datasystem/worker/object_cache/migrate_data_handler.h b/src/datasystem/worker/object_cache/migrate_data_handler.h index 2a8c8f7c18d58da1f7ff222b1e403ad8e73e61a9..3e8cfa310e94348d3ba1b1cd0e0cfa63d7104d8f 100644 --- a/src/datasystem/worker/object_cache/migrate_data_handler.h +++ b/src/datasystem/worker/object_cache/migrate_data_handler.h @@ -35,7 +35,7 @@ #include "datasystem/common/rpc/rpc_message.h" #include "datasystem/common/shared_memory/shm_unit.h" #include "datasystem/common/util/thread.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object/object_enum.h" #include "datasystem/protos/worker_object.pb.h" #include "datasystem/worker/object_cache/object_kv.h" #include "datasystem/worker/object_cache/worker_worker_oc_api.h" diff --git a/src/datasystem/worker/object_cache/object_kv.cpp b/src/datasystem/worker/object_cache/object_kv.cpp index f5444b111848a9906daeefc744ae3763142d7fc9..1e986c0f5b587ae7e9bd23540ddf5035b0944188 100644 --- a/src/datasystem/worker/object_cache/object_kv.cpp +++ b/src/datasystem/worker/object_cache/object_kv.cpp @@ -19,7 +19,7 @@ */ #include "datasystem/worker/object_cache/object_kv.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object/object_enum.h" #include "datasystem/worker/object_cache/obj_cache_shm_unit.h" namespace datasystem { diff --git a/src/datasystem/worker/object_cache/service/worker_oc_service_create_impl.h b/src/datasystem/worker/object_cache/service/worker_oc_service_create_impl.h index c9ea52d2265199df449ea1ce1b516f8142caa1d1..e228f0a870124e62ff4255db02bd06033c37ba6e 100644 --- a/src/datasystem/worker/object_cache/service/worker_oc_service_create_impl.h +++ b/src/datasystem/worker/object_cache/service/worker_oc_service_create_impl.h @@ -21,7 +21,7 @@ #ifndef DATASYSTEM_OBJECT_CACHE_WORKER_SERVICE_CREATE_IMPL_H #define DATASYSTEM_OBJECT_CACHE_WORKER_SERVICE_CREATE_IMPL_H -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object/object_enum.h" #include "datasystem/utils/status.h" #include "datasystem/worker/object_cache/service/worker_oc_service_crud_common_api.h" diff --git a/src/datasystem/worker/object_cache/service/worker_oc_service_get_impl.cpp b/src/datasystem/worker/object_cache/service/worker_oc_service_get_impl.cpp index 50ecb623f7e0478eaf34b233ebe61a8f273d9ba6..2ceb0aded44443f70c889dcc3e935ae8d6da177d 100644 --- a/src/datasystem/worker/object_cache/service/worker_oc_service_get_impl.cpp +++ b/src/datasystem/worker/object_cache/service/worker_oc_service_get_impl.cpp @@ -31,7 +31,7 @@ #include "datasystem/common/log/log.h" #include "datasystem/common/perf/perf_manager.h" #include "datasystem/master/object_cache/master_worker_oc_api.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object/object_enum.h" #include "datasystem/common/rdma/urma_manager_wrapper.h" #include "datasystem/common/util/format.h" #include "datasystem/common/util/gflag/common_gflags.h" diff --git a/src/datasystem/worker/object_cache/service/worker_oc_service_migrate_impl.cpp b/src/datasystem/worker/object_cache/service/worker_oc_service_migrate_impl.cpp index 3f32ee35fb8b4e4f2d452c4667177d014e20ef82..be21dc689896ba54ad36db4f041bde59fc6f8f0d 100644 --- a/src/datasystem/worker/object_cache/service/worker_oc_service_migrate_impl.cpp +++ b/src/datasystem/worker/object_cache/service/worker_oc_service_migrate_impl.cpp @@ -39,7 +39,7 @@ #include "datasystem/common/util/rpc_util.h" #include "datasystem/common/util/status_helper.h" #include "datasystem/common/util/strings_util.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object/object_enum.h" #include "datasystem/protos/master_object.pb.h" #include "datasystem/protos/master_object.service.rpc.pb.h" #include "datasystem/utils/status.h" diff --git a/src/datasystem/worker/object_cache/service/worker_oc_service_migrate_impl.h b/src/datasystem/worker/object_cache/service/worker_oc_service_migrate_impl.h index e0977938524ed3e00cad9d1907dc98763d5b6d11..df336808fd8e28cc8e34ed80e968066509422f59 100644 --- a/src/datasystem/worker/object_cache/service/worker_oc_service_migrate_impl.h +++ b/src/datasystem/worker/object_cache/service/worker_oc_service_migrate_impl.h @@ -36,7 +36,7 @@ #include "datasystem/common/rpc/rpc_message.h" #include "datasystem/common/util/net_util.h" #include "datasystem/common/util/timer.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object/object_enum.h" #include "datasystem/protos/master_object.pb.h" #include "datasystem/protos/object_posix.pb.h" #include "datasystem/protos/worker_object.pb.h" diff --git a/src/datasystem/worker/object_cache/service/worker_oc_service_multi_publish_impl.h b/src/datasystem/worker/object_cache/service/worker_oc_service_multi_publish_impl.h index 8cc1b1dfad564556c6b58ff168110992e9d3181a..9eb55c3df523e8b479ae2f18db7dbecdb1c5cfc4 100644 --- a/src/datasystem/worker/object_cache/service/worker_oc_service_multi_publish_impl.h +++ b/src/datasystem/worker/object_cache/service/worker_oc_service_multi_publish_impl.h @@ -23,7 +23,7 @@ #include "datasystem/common/ak_sk/ak_sk_manager.h" #include "datasystem/common/rpc/rpc_message.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object/object_enum.h" #include "datasystem/protos/master_object.pb.h" #include "datasystem/protos/object_posix.pb.h" #include "datasystem/utils/status.h" diff --git a/src/datasystem/worker/object_cache/worker_oc_eviction_manager.cpp b/src/datasystem/worker/object_cache/worker_oc_eviction_manager.cpp index a0fbadb532c3fbb4137904699332b3d53ca18eb2..283c8eadc6f36297f556b0e37e6b6d8c533bdc87 100644 --- a/src/datasystem/worker/object_cache/worker_oc_eviction_manager.cpp +++ b/src/datasystem/worker/object_cache/worker_oc_eviction_manager.cpp @@ -35,7 +35,7 @@ #include "datasystem/common/util/status_helper.h" #include "datasystem/common/util/timer.h" #include "datasystem/common/util/validator.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object/object_enum.h" #include "datasystem/protos/master_object.pb.h" #include "datasystem/utils/status.h" #include "datasystem/worker/object_cache/object_kv.h" diff --git a/src/datasystem/worker/object_cache/worker_oc_eviction_manager.h b/src/datasystem/worker/object_cache/worker_oc_eviction_manager.h index c354e1c640a81d9104d203e38c59dceb01e65830..3acac43848bb7d823988870c082155716a9707eb 100644 --- a/src/datasystem/worker/object_cache/worker_oc_eviction_manager.h +++ b/src/datasystem/worker/object_cache/worker_oc_eviction_manager.h @@ -36,7 +36,7 @@ #include "datasystem/common/object_cache/safe_table.h" #include "datasystem/common/util/thread_pool.h" #include "datasystem/common/util/timer.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object/object_enum.h" #include "datasystem/worker/object_cache/eviction_list.h" #include "datasystem/worker/object_cache/object_kv.h" #include "datasystem/worker/object_cache/worker_master_oc_api.h" diff --git a/src/datasystem/worker/object_cache/worker_request_manager.cpp b/src/datasystem/worker/object_cache/worker_request_manager.cpp index 9301dbe4f172da9f6abbf95a57ec676dc5cb1814..e80642e9bf4fdd58e2cbddd3e88c50c38dce32f8 100644 --- a/src/datasystem/worker/object_cache/worker_request_manager.cpp +++ b/src/datasystem/worker/object_cache/worker_request_manager.cpp @@ -30,7 +30,7 @@ #include "datasystem/common/util/raii.h" #include "datasystem/common/util/status_helper.h" #include "datasystem/common/util/thread_local.h" -#include "datasystem/object_cache/buffer.h" +#include "datasystem/object/buffer.h" #include "datasystem/utils/status.h" #include "datasystem/worker/client_manager/client_manager.h" #include "datasystem/worker/object_cache/obj_cache_shm_unit.h" diff --git a/src/datasystem/worker/worker_liveness_check.cpp b/src/datasystem/worker/worker_liveness_check.cpp index 6ad4cd3128e9f0f92e2b38402c92b0b5c9958da5..e91a549d354934f8b7b56695d88f69e3049d7c21 100644 --- a/src/datasystem/worker/worker_liveness_check.cpp +++ b/src/datasystem/worker/worker_liveness_check.cpp @@ -36,7 +36,7 @@ #include "datasystem/common/util/thread_local.h" #include "datasystem/common/util/timer.h" #include "datasystem/common/util/uuid_generator.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object/object_enum.h" #include "datasystem/protos/object_posix.pb.h" #include "datasystem/protos/share_memory.pb.h" #include "datasystem/common/rpc/rpc_auth_keys.h" diff --git a/tests/st/client/kv_cache/kv_cache_client_evict_test.cpp b/tests/st/client/kv_cache/kv_cache_client_evict_test.cpp index 42edc1763cf203af09fe480ed2a83055d0aa351d..b6be1c3d101d644cd3f4a81e8db9ec50610003e4 100644 --- a/tests/st/client/kv_cache/kv_cache_client_evict_test.cpp +++ b/tests/st/client/kv_cache/kv_cache_client_evict_test.cpp @@ -18,7 +18,7 @@ * Description: State client evict tests. */ -#include "datasystem/kv_cache/kv_client.h" +#include "datasystem/kv_client.h" #include #include @@ -41,7 +41,7 @@ #include "datasystem/common/util/random_data.h" #include "datasystem/common/util/status_helper.h" #include "datasystem/common/util/timer.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object/object_enum.h" #include "datasystem/utils/connection.h" #include "datasystem/utils/status.h" #include "datasystem/worker/hash_ring/hash_ring.h" diff --git a/tests/st/client/kv_cache/kv_cache_client_exist_test.cpp b/tests/st/client/kv_cache/kv_cache_client_exist_test.cpp index 68cf057aac8b03287b78823fbd2953419664ed34..0814e25cb130879896a0e8017dd3ff061e866cc1 100644 --- a/tests/st/client/kv_cache/kv_cache_client_exist_test.cpp +++ b/tests/st/client/kv_cache/kv_cache_client_exist_test.cpp @@ -29,8 +29,8 @@ #include "client/object_cache/oc_client_common.h" #include "common.h" -#include "datasystem/kv_cache/read_only_buffer.h" -#include "datasystem/kv_cache/kv_client.h" +#include "datasystem/kv/read_only_buffer.h" +#include "datasystem/kv_client.h" #include "datasystem/common/flags/flags.h" #include "datasystem/common/log/log.h" diff --git a/tests/st/client/kv_cache/kv_cache_client_expire_test.cpp b/tests/st/client/kv_cache/kv_cache_client_expire_test.cpp index de710ec5c076b9daa2a2a60f014021f237226efb..27abc0b1abe194a7296be79cbd6fc33f447f05b5 100644 --- a/tests/st/client/kv_cache/kv_cache_client_expire_test.cpp +++ b/tests/st/client/kv_cache/kv_cache_client_expire_test.cpp @@ -29,8 +29,8 @@ #include "client/object_cache/oc_client_common.h" #include "common.h" -#include "datasystem/kv_cache/read_only_buffer.h" -#include "datasystem/kv_cache/kv_client.h" +#include "datasystem/kv/read_only_buffer.h" +#include "datasystem/kv_client.h" #include "datasystem/common/flags/flags.h" #include "datasystem/common/log/log.h" diff --git a/tests/st/client/kv_cache/kv_cache_client_test.cpp b/tests/st/client/kv_cache/kv_cache_client_test.cpp index 560661a8ecd35c91474ac22e32d95e6eecf955fc..8e52ea44584f1563450d51e239200d3ecadde638 100644 --- a/tests/st/client/kv_cache/kv_cache_client_test.cpp +++ b/tests/st/client/kv_cache/kv_cache_client_test.cpp @@ -42,8 +42,8 @@ #include "datasystem/common/util/net_util.h" #include "datasystem/common/util/status_helper.h" #include "datasystem/common/util/thread_pool.h" -#include "datasystem/kv_cache/read_only_buffer.h" -#include "datasystem/kv_cache/kv_client.h" +#include "datasystem/kv/read_only_buffer.h" +#include "datasystem/kv_client.h" #include "datasystem/utils/connection.h" #include "datasystem/utils/status.h" #include "datasystem/common/flags/flags.h" diff --git a/tests/st/client/kv_cache/kv_client_cross_az_test.cpp b/tests/st/client/kv_cache/kv_client_cross_az_test.cpp index e57003bd5cfaef9d437a2ff2a2b2c5473fce8598..c1f1d047f87ff3ac13347e21e42ed5b22e5fbb35 100644 --- a/tests/st/client/kv_cache/kv_client_cross_az_test.cpp +++ b/tests/st/client/kv_cache/kv_client_cross_az_test.cpp @@ -44,8 +44,8 @@ #include "datasystem/common/util/status_helper.h" #include "datasystem/common/util/strings_util.h" #include "datasystem/common/util/thread_pool.h" -#include "datasystem/object_cache/object_enum.h" -#include "datasystem/kv_cache/kv_client.h" +#include "datasystem/object/object_enum.h" +#include "datasystem/kv_client.h" #include "datasystem/utils/status.h" DS_DECLARE_string(etcd_address); diff --git a/tests/st/client/kv_cache/kv_client_dist_master_test.cpp b/tests/st/client/kv_cache/kv_client_dist_master_test.cpp index 814dd8e8459496767d1d786671055c05c8da64a7..ad8e21aa4da5f8560fe90363d27813e60cb964b9 100644 --- a/tests/st/client/kv_cache/kv_client_dist_master_test.cpp +++ b/tests/st/client/kv_cache/kv_client_dist_master_test.cpp @@ -19,7 +19,7 @@ */ #include "datasystem/common/util/random_data.h" #include "datasystem/common/util/timer.h" -#include "datasystem/kv_cache/kv_client.h" +#include "datasystem/kv_client.h" #include #include @@ -37,7 +37,7 @@ #include "datasystem/common/util/status_helper.h" #include "datasystem/common/util/file_util.h" #include "datasystem/common/log/log.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object/object_enum.h" #include "datasystem/utils/connection.h" #include "datasystem/utils/status.h" #include "datasystem/worker/hash_ring/hash_ring.h" diff --git a/tests/st/client/kv_cache/kv_client_etcd_dfx_test.cpp b/tests/st/client/kv_cache/kv_client_etcd_dfx_test.cpp index ea4f81412171fe96694b026aa83ab3b2dfcc4d10..24be4bbe82f5b62367dc3ab30825ce983b9332ef 100644 --- a/tests/st/client/kv_cache/kv_client_etcd_dfx_test.cpp +++ b/tests/st/client/kv_cache/kv_client_etcd_dfx_test.cpp @@ -28,7 +28,7 @@ #include "datasystem/common/util/format.h" #include "datasystem/common/util/net_util.h" #include "datasystem/common/util/timer.h" -#include "datasystem/kv_cache/kv_client.h" +#include "datasystem/kv_client.h" #include "datasystem/utils/status.h" namespace datasystem { diff --git a/tests/st/client/kv_cache/kv_client_log_monitor_test.cpp b/tests/st/client/kv_cache/kv_client_log_monitor_test.cpp index 7dce81642cfdcd3004a2b1affbd44bee573330aa..6e678765a6d4d27bc20dac27ac654bc4d2016a40 100644 --- a/tests/st/client/kv_cache/kv_client_log_monitor_test.cpp +++ b/tests/st/client/kv_cache/kv_client_log_monitor_test.cpp @@ -41,8 +41,8 @@ #include "datasystem/common/util/strings_util.h" #include "datasystem/common/util/thread_pool.h" #include "client/object_cache/oc_client_common.h" -#include "datasystem/object_cache/object_enum.h" -#include "datasystem/kv_cache/kv_client.h" +#include "datasystem/object/object_enum.h" +#include "datasystem/kv_client.h" #include "datasystem/utils/status.h" DS_DECLARE_string(etcd_address); diff --git a/tests/st/client/kv_cache/kv_client_mset_test.cpp b/tests/st/client/kv_cache/kv_client_mset_test.cpp index 99926988b841a8b5280a54a585252f91c448733e..a51482edd43f6eb30e057372499b089d740fe164 100644 --- a/tests/st/client/kv_cache/kv_client_mset_test.cpp +++ b/tests/st/client/kv_cache/kv_client_mset_test.cpp @@ -40,8 +40,8 @@ #include "datasystem/common/util/strings_util.h" #include "datasystem/common/util/thread_pool.h" #include "client/object_cache/oc_client_common.h" -#include "datasystem/object_cache/object_enum.h" -#include "datasystem/kv_cache/kv_client.h" +#include "datasystem/object/object_enum.h" +#include "datasystem/kv_client.h" #include "datasystem/utils/status.h" DS_DECLARE_string(etcd_address); diff --git a/tests/st/client/kv_cache/kv_client_offset_read_one_host_test.cpp b/tests/st/client/kv_cache/kv_client_offset_read_one_host_test.cpp index bee7cc4f92a50e9f7896e598482e2192d7ff7797..6af17bf6a733b0d38c35efdd3405556518b8c55e 100644 --- a/tests/st/client/kv_cache/kv_client_offset_read_one_host_test.cpp +++ b/tests/st/client/kv_cache/kv_client_offset_read_one_host_test.cpp @@ -19,7 +19,7 @@ */ #include "datasystem/common/util/uuid_generator.h" -#include "datasystem/kv_cache/kv_client.h" +#include "datasystem/kv_client.h" #include #include @@ -43,7 +43,7 @@ #include "datasystem/common/util/random_data.h" #include "datasystem/common/util/status_helper.h" #include "datasystem/common/util/timer.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object/object_enum.h" #include "datasystem/utils/connection.h" #include "datasystem/utils/status.h" #include "datasystem/worker/hash_ring/hash_ring.h" diff --git a/tests/st/client/kv_cache/kv_client_replica_scale_test.cpp b/tests/st/client/kv_cache/kv_client_replica_scale_test.cpp index bc49372a0436e463122c7b6e183f62558185b5a6..73b01db4187d5f84fec612d12b88efa8db0ba332 100644 --- a/tests/st/client/kv_cache/kv_client_replica_scale_test.cpp +++ b/tests/st/client/kv_cache/kv_client_replica_scale_test.cpp @@ -36,9 +36,9 @@ #include "datasystem/common/util/thread.h" #include "datasystem/common/util/uuid_generator.h" #include "datasystem/common/log/log.h" -#include "datasystem/object_cache/object_enum.h" -#include "datasystem/kv_cache/read_only_buffer.h" -#include "datasystem/kv_cache/kv_client.h" +#include "datasystem/object/object_enum.h" +#include "datasystem/kv/read_only_buffer.h" +#include "datasystem/kv_client.h" #include "datasystem/worker/hash_ring/hash_ring_allocator.h" DS_DECLARE_string(etcd_address); diff --git a/tests/st/client/kv_cache/kv_client_replica_test.cpp b/tests/st/client/kv_cache/kv_client_replica_test.cpp index d0bb2a976d8e5f7b23913d20ea537c86ed7d17e7..3418e1927def4031793dd4691d236592b4ba7842 100644 --- a/tests/st/client/kv_cache/kv_client_replica_test.cpp +++ b/tests/st/client/kv_cache/kv_client_replica_test.cpp @@ -34,8 +34,8 @@ #include "datasystem/common/util/net_util.h" #include "datasystem/common/util/strings_util.h" #include "datasystem/common/log/log.h" -#include "datasystem/object_cache/object_enum.h" -#include "datasystem/kv_cache/kv_client.h" +#include "datasystem/object/object_enum.h" +#include "datasystem/kv_client.h" #include "datasystem/worker/hash_ring/hash_ring_allocator.h" DS_DECLARE_string(etcd_address); diff --git a/tests/st/client/kv_cache/kv_client_scale_test.cpp b/tests/st/client/kv_cache/kv_client_scale_test.cpp index 635b567b7c5d3b39c4c370033230856abda039de..776c01f6ee33819bcaadfd3c499377e778d917b1 100644 --- a/tests/st/client/kv_cache/kv_client_scale_test.cpp +++ b/tests/st/client/kv_cache/kv_client_scale_test.cpp @@ -33,7 +33,7 @@ #include "datasystem/common/util/status_helper.h" #include "datasystem/common/util/file_util.h" #include "datasystem/master/object_cache/store/object_meta_store.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object/object_enum.h" #include "datasystem/utils/status.h" #include "datasystem/utils/string_view.h" #include "datasystem/worker/hash_ring/hash_ring.h" diff --git a/tests/st/client/kv_cache/kv_client_voluntary_scale_down_test.cpp b/tests/st/client/kv_cache/kv_client_voluntary_scale_down_test.cpp index 53345e3bc9dcaad80c9be963617eac35f90b41ba..dad0b717c5bb0bdcb7fb3bedcfbf385a749fe5c1 100644 --- a/tests/st/client/kv_cache/kv_client_voluntary_scale_down_test.cpp +++ b/tests/st/client/kv_cache/kv_client_voluntary_scale_down_test.cpp @@ -22,8 +22,8 @@ #include "datasystem/common/inject/inject_point.h" #include "datasystem/common/kvstore/etcd/etcd_constants.h" #include "datasystem/common/util/uuid_generator.h" -#include "datasystem/object_cache/object_enum.h" -#include "datasystem/kv_cache/kv_client.h" +#include "datasystem/object/object_enum.h" +#include "datasystem/kv_client.h" #include #include #include @@ -374,6 +374,37 @@ TEST_F(KVClientVoluntaryScaleDownTest, NormalObjectConsecutiveVoluntaryScaleDown DS_ASSERT_OK(cluster_->StartNode(WORKER, 1, "")); } +TEST_F(KVClientVoluntaryScaleDownTest, StartKeyWithWorkerUuid) +{ + auto key = client0_->GenerateKey(); + std::string data = "aaaaaaaaaa"; + DS_ASSERT_OK(client2_->Set(key, data)); + for (size_t i = 1; i < DEFAULT_WORKER_NUM; i++) { + DS_ASSERT_OK(cluster_->SetInjectAction(WORKER, i, "MigrateByRanges.Delay", "sleep(3000)")); + } + VoluntaryScaleDownInject(0); + InitTestKVClient(1, client1_, 10000); // Init client1 to worker 1 with 10000ms timeout + bool stop = false; + std::thread t1([&stop, &key, &data, this] { + while (!stop) { + ReadParam readParam{ .key = key, .offset = 0, .size = data.size() - 1 }; + std::vector params = { readParam }; + std::vector> buffers; + DS_ASSERT_OK(client1_->Read(params, buffers)); + Optional buffer = buffers.back(); + std::string getValue(reinterpret_cast(buffer->ImmutableData()), buffer->GetSize()); + ASSERT_EQ(data.substr(0, data.size() - 1), getValue); + std::this_thread::sleep_for(std::chrono::milliseconds(100)); // wait for 100 ms + } + }); + WaitAllNodesJoinIntoHashRing(3); // The number of worker is 3 + AssertWorkerNum(3); // The number of worker is 3 + DS_ASSERT_OK(cluster_->StartNode(WORKER, 0, "")); + WaitAllNodesJoinIntoHashRing(DEFAULT_WORKER_NUM); + stop = true; + t1.join(); +} + TEST_F(KVClientVoluntaryScaleDownTest, LEVEL2_TestNotRemoveFailedWorkerWhenRestart) { SetWorkerHashInjection(); diff --git a/tests/st/client/kv_cache/kv_client_worker_timeout_storage.cpp b/tests/st/client/kv_cache/kv_client_worker_timeout_storage.cpp index abece670fbfca753a3f6f3fff67172f833082d7c..9abc557a09b9c1886cb061e922aabfc275ecb9e9 100644 --- a/tests/st/client/kv_cache/kv_client_worker_timeout_storage.cpp +++ b/tests/st/client/kv_cache/kv_client_worker_timeout_storage.cpp @@ -18,7 +18,7 @@ * Description: Test the behavior after worker timeout. */ -#include "datasystem/kv_cache/kv_client.h" +#include "datasystem/kv_client.h" #include #include #include diff --git a/tests/st/client/object_cache/client_dfx_test.cpp b/tests/st/client/object_cache/client_dfx_test.cpp index a7a279f60860b60f319956c6caafbf72f4299bb7..9f1d00f8faafa4bbc218a88c5ba43faf1c4ffe49 100644 --- a/tests/st/client/object_cache/client_dfx_test.cpp +++ b/tests/st/client/object_cache/client_dfx_test.cpp @@ -32,7 +32,7 @@ #include "datasystem/common/util/net_util.h" #include "datasystem/common/util/random_data.h" #include "datasystem/common/util/status_helper.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object/object_enum.h" #include "datasystem/protos/ut_object.stub.rpc.pb.h" #include "datasystem/utils/status.h" #include "datasystem/worker/object_cache/worker_master_oc_api.h" diff --git a/tests/st/client/object_cache/client_get_test.cpp b/tests/st/client/object_cache/client_get_test.cpp index e1e67d66447d2186f9bb7d0e2b9c305deba8045d..eb87abebe2e4aa2e7871cf2d570161408c7cd584 100644 --- a/tests/st/client/object_cache/client_get_test.cpp +++ b/tests/st/client/object_cache/client_get_test.cpp @@ -36,8 +36,8 @@ #include "datasystem/common/util/strings_util.h" #include "datasystem/common/util/timer.h" #include "datasystem/common/util/wait_post.h" -#include "datasystem/object_cache/object_client.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object_client.h" +#include "datasystem/object/object_enum.h" #include "datasystem/utils/status.h" #include "oc_client_common.h" #include "datasystem/common/metrics/res_metric_collector.h" diff --git a/tests/st/client/object_cache/hetero_client_mock_test.cpp b/tests/st/client/object_cache/hetero_client_mock_test.cpp index 654bd36d31fc7b883a8016edfb0c3a17ebbc206e..45548bd4f6a62ad850d34cca17ca8cddb9ca2ebd 100644 --- a/tests/st/client/object_cache/hetero_client_mock_test.cpp +++ b/tests/st/client/object_cache/hetero_client_mock_test.cpp @@ -29,7 +29,7 @@ #include "datasystem/common/rpc/rpc_constants.h" #include "datasystem/common/util/uuid_generator.h" #include "datasystem/client/object_cache/client_worker_api.h" -#include "datasystem/hetero_cache/hetero_client.h" +#include "datasystem/hetero_client.h" #include "datasystem/client/hetero_cache/device_buffer.h" #include "datasystem/protos/p2p_subscribe.pb.h" diff --git a/tests/st/client/object_cache/object_client_replica_test.cpp b/tests/st/client/object_cache/object_client_replica_test.cpp index d9a665653eee331ae09d4f4864f6f744edd6d4e8..90ac85043d708faab3c821dd2a267d234114ba1d 100644 --- a/tests/st/client/object_cache/object_client_replica_test.cpp +++ b/tests/st/client/object_cache/object_client_replica_test.cpp @@ -36,8 +36,8 @@ #include "datasystem/common/util/strings_util.h" #include "datasystem/common/util/uuid_generator.h" #include "datasystem/common/log/log.h" -#include "datasystem/object_cache/object_client.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object_client.h" +#include "datasystem/object/object_enum.h" #include "datasystem/worker/hash_ring/hash_ring_allocator.h" DS_DECLARE_string(etcd_address); diff --git a/tests/st/client/object_cache/object_client_scale_test.cpp b/tests/st/client/object_cache/object_client_scale_test.cpp index 51e2c2b3adc7e6ffae26788e651b4a214c5f1df7..5cec6befce0cab863bc9ec509d3b7a4912422d1f 100644 --- a/tests/st/client/object_cache/object_client_scale_test.cpp +++ b/tests/st/client/object_cache/object_client_scale_test.cpp @@ -43,10 +43,10 @@ #include "datasystem/common/util/strings_util.h" #include "datasystem/common/util/timer.h" #include "datasystem/master/object_cache/store/object_meta_store.h" -#include "datasystem/object_cache/object_client.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object_client.h" +#include "datasystem/object/object_enum.h" #include "datasystem/protos/master_object.pb.h" -#include "datasystem/kv_cache/kv_client.h" +#include "datasystem/kv_client.h" #include "datasystem/utils/status.h" #include "datasystem/worker/hash_ring/hash_ring.h" #include "datasystem/worker/hash_ring/hash_ring_allocator.h" diff --git a/tests/st/client/object_cache/object_client_tenant_test.cpp b/tests/st/client/object_cache/object_client_tenant_test.cpp index 16bed7a4b8b9cd7c21bc7a0c7bb48d6ce26b3ebd..2d84673b2d8fe041c5f5d0a3feda4e44a458dc72 100644 --- a/tests/st/client/object_cache/object_client_tenant_test.cpp +++ b/tests/st/client/object_cache/object_client_tenant_test.cpp @@ -29,7 +29,7 @@ #include "datasystem/common/util/format.h" #include "datasystem/common/util/gflag/flags.h" #include "datasystem/context/context.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object/object_enum.h" #include "datasystem/common/log/log.h" #include "oc_client_common.h" diff --git a/tests/st/client/object_cache/oc_client_common.h b/tests/st/client/object_cache/oc_client_common.h index ac81ead4515ec1179cd7cb87b647125d1d0066b0..77971dd3cfde8e2a01f923c29aa2cc544bf3204e 100644 --- a/tests/st/client/object_cache/oc_client_common.h +++ b/tests/st/client/object_cache/oc_client_common.h @@ -29,11 +29,11 @@ #include "datasystem/common/util/random_data.h" #include "datasystem/common/util/thread_pool.h" #include "datasystem/datasystem.h" -#include "datasystem/hetero_cache/hetero_client.h" -#include "datasystem/object_cache/object_client.h" +#include "datasystem/hetero_client.h" +#include "datasystem/object_client.h" #include "datasystem/protos/hash_ring.pb.h" #include "datasystem/protos/master_object.pb.h" -#include "datasystem/kv_cache/kv_client.h" +#include "datasystem/kv_client.h" #include "datasystem/utils/connection.h" #include "datasystem/common/kvstore/etcd/etcd_store.h" #include "datasystem/common/util/uuid_generator.h" diff --git a/tests/st/client/object_cache/oc_client_get_mem_alloc_optimize_test.cpp b/tests/st/client/object_cache/oc_client_get_mem_alloc_optimize_test.cpp index 63d17a9db7b09130df43aba558e03e7676bfc112..3bf86563d29fd6b988a3bd725155a13910b993b4 100644 --- a/tests/st/client/object_cache/oc_client_get_mem_alloc_optimize_test.cpp +++ b/tests/st/client/object_cache/oc_client_get_mem_alloc_optimize_test.cpp @@ -21,7 +21,7 @@ #include #include "common.h" #include "datasystem/common/util/wait_post.h" -#include "datasystem/object_cache/object_client.h" +#include "datasystem/object_client.h" #include "datasystem/utils/status.h" #include "oc_client_common.h" #include "datasystem/client/client_worker_common_api.h" diff --git a/tests/st/client/object_cache/oc_service_disable_test.cpp b/tests/st/client/object_cache/oc_service_disable_test.cpp index bb92a657d76ddb1ee9e22017d90dfa8a30b8f10f..090249960611e0a2f7c9f2b4ebe931b475051900 100644 --- a/tests/st/client/object_cache/oc_service_disable_test.cpp +++ b/tests/st/client/object_cache/oc_service_disable_test.cpp @@ -19,8 +19,8 @@ */ #include "common.h" #include "datasystem/common/util/random_data.h" -#include "datasystem/object_cache/object_client.h" -#include "datasystem/kv_cache/kv_client.h" +#include "datasystem/object_client.h" +#include "datasystem/kv_client.h" #include #include diff --git a/tests/st/client/perf_client/perf_client_test.cpp b/tests/st/client/perf_client/perf_client_test.cpp index 23beff03cee5ef122d16770f90cca7d8d5f1b05c..19364f0f8e6a1d7a84012530dfb07c78bf6f2382 100644 --- a/tests/st/client/perf_client/perf_client_test.cpp +++ b/tests/st/client/perf_client/perf_client_test.cpp @@ -19,7 +19,7 @@ #include "common.h" #include "client/object_cache/oc_client_common.h" -#include "datasystem/kv_cache/kv_client.h" +#include "datasystem/kv_client.h" #include "datasystem/perf_client.h" namespace datasystem { diff --git a/tests/st/common/kvstore/etcd_store_test.cpp b/tests/st/common/kvstore/etcd_store_test.cpp index a08519dc896128a579d5f37b198ce49551b89b3f..c810465a6dc209cf7912598f30b57ede1da2576d 100644 --- a/tests/st/common/kvstore/etcd_store_test.cpp +++ b/tests/st/common/kvstore/etcd_store_test.cpp @@ -37,8 +37,8 @@ #include "datasystem/common/util/strings_util.h" #include "datasystem/common/log/log.h" #include "datasystem/common/util/random_data.h" -#include "datasystem/object_cache/object_client.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object_client.h" +#include "datasystem/object/object_enum.h" #include "datasystem/utils/sensitive_value.h" #include "etcd/api/mvccpb/kv.pb.h" diff --git a/tests/st/common/log/kv_cache_log_performance_test.cpp b/tests/st/common/log/kv_cache_log_performance_test.cpp index 5aad70434f3abfb647f845b7bb928bebf1cfbf6c..72826940569d97f210df82d90f963b1ee1c67f3a 100644 --- a/tests/st/common/log/kv_cache_log_performance_test.cpp +++ b/tests/st/common/log/kv_cache_log_performance_test.cpp @@ -29,8 +29,8 @@ #include "common.h" #include "datasystem/common/flags/flags.h" #include "datasystem/common/log/log.h" -#include "datasystem/kv_cache/read_only_buffer.h" -#include "datasystem/kv_cache/kv_client.h" +#include "datasystem/kv/read_only_buffer.h" +#include "datasystem/kv_client.h" #include "datasystem/utils/status.h" DS_DECLARE_bool(alsologtostderr); diff --git a/tests/st/common/log/logging_free_test.cpp b/tests/st/common/log/logging_free_test.cpp index 562659c6bcefe0d4b57fc2df1e6e2814014a01ae..8decc2b51e3533f66d91d0bb3e33b6dc3a61c252 100644 --- a/tests/st/common/log/logging_free_test.cpp +++ b/tests/st/common/log/logging_free_test.cpp @@ -25,7 +25,7 @@ #include "client/object_cache/oc_client_common.h" #include "common.h" #include "datasystem/common/util/wait_post.h" -#include "datasystem/kv_cache/kv_client.h" +#include "datasystem/kv_client.h" namespace datasystem { namespace st { diff --git a/tests/st/device/dev_object_hetero_test.cpp b/tests/st/device/dev_object_hetero_test.cpp index a13b1019886a1a03ff7e5df4c35c76d602b39822..c8152340e91ec546a910d3aba54afd0dab4740f5 100644 --- a/tests/st/device/dev_object_hetero_test.cpp +++ b/tests/st/device/dev_object_hetero_test.cpp @@ -44,7 +44,7 @@ #include "datasystem/common/util/strings_util.h" #include "datasystem/common/util/uuid_generator.h" #include "datasystem/common/log/log.h" -#include "datasystem/hetero_cache/hetero_client.h" +#include "datasystem/hetero_client.h" #include "datasystem/client/hetero_cache/device_util.h" #include "device/dev_test_helper.h" diff --git a/tests/st/device/dev_object_scale_test.cpp b/tests/st/device/dev_object_scale_test.cpp index a067f2c32ea5eeaab518f1309dd072df0142282d..050efd5b0e10f4553c36ad8fa2174b56e85ccd7d 100644 --- a/tests/st/device/dev_object_scale_test.cpp +++ b/tests/st/device/dev_object_scale_test.cpp @@ -41,8 +41,8 @@ #include "datasystem/common/util/timer.h" #include "datasystem/common/util/uuid_generator.h" #include "datasystem/master/object_cache/store/object_meta_store.h" -#include "datasystem/object_cache/object_client.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object_client.h" +#include "datasystem/object/object_enum.h" #include "datasystem/utils/optional.h" #include "datasystem/utils/status.h" #include "device/dev_test_helper.h" diff --git a/tests/st/device/dev_test_helper.h b/tests/st/device/dev_test_helper.h index 46ae1b3a05e34666afb2deafe25c7a198eb32e8d..6d66fbe5bc8ac82e53976421c8cb621a8b11bb37 100644 --- a/tests/st/device/dev_test_helper.h +++ b/tests/st/device/dev_test_helper.h @@ -41,11 +41,11 @@ #include "datasystem/common/util/random_data.h" #include "datasystem/common/util/thread_pool.h" #include "datasystem/common/util/uuid_generator.h" -#include "datasystem/object_cache/buffer.h" +#include "datasystem/object/buffer.h" #include "datasystem/client/hetero_cache/device_buffer.h" #include "datasystem/client/hetero_cache/device_util.h" -#include "datasystem/object_cache/object_client.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object_client.h" +#include "datasystem/object/object_enum.h" #include "mock/ascend_device_manager_mock.cpp" namespace datasystem { diff --git a/tests/st/device/edge_condition_dev_object_hetero_test.cpp b/tests/st/device/edge_condition_dev_object_hetero_test.cpp index 29cdda5d2e3232fff6c8249f9f660346dc2dd459..08093ce636f1534fa75003b7199d5b477b522849 100644 --- a/tests/st/device/edge_condition_dev_object_hetero_test.cpp +++ b/tests/st/device/edge_condition_dev_object_hetero_test.cpp @@ -36,7 +36,7 @@ #include "datasystem/common/util/status_helper.h" #include "datasystem/common/util/strings_util.h" #include "datasystem/common/util/uuid_generator.h" -#include "datasystem/hetero_cache/hetero_client.h" +#include "datasystem/hetero_client.h" #include "datasystem/client/hetero_cache/device_util.h" #include "device/dev_test_helper.h" diff --git a/tests/st/device/hetero_get_meta_info_test.cpp b/tests/st/device/hetero_get_meta_info_test.cpp index e52d5a0bfd3ec34e7357ada701311d1cf14e2bc0..4796f7b88344bbc38004f4b1fe4359f0f6518d1c 100644 --- a/tests/st/device/hetero_get_meta_info_test.cpp +++ b/tests/st/device/hetero_get_meta_info_test.cpp @@ -44,7 +44,7 @@ #include "datasystem/common/util/status_helper.h" #include "datasystem/common/util/strings_util.h" #include "datasystem/common/util/uuid_generator.h" -#include "datasystem/hetero_cache/hetero_client.h" +#include "datasystem/hetero_client.h" #include "datasystem/client/hetero_cache/device_util.h" #include "device/dev_test_helper.h" diff --git a/tests/st/device/hetero_object_replica_test.cpp b/tests/st/device/hetero_object_replica_test.cpp index 1e2e9df9e87b6b5faba9dff9575e3aa8641fbedf..77c73871bb7df679feb4811fcecbcac4dd839281 100644 --- a/tests/st/device/hetero_object_replica_test.cpp +++ b/tests/st/device/hetero_object_replica_test.cpp @@ -20,8 +20,8 @@ #include #include "common.h" -#include "datasystem/kv_cache/kv_client.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/kv_client.h" +#include "datasystem/object/object_enum.h" #include "device/dev_test_helper.h" #include "gmock/gmock.h" diff --git a/tests/st/master/object_cache/oc_giveup_primary_test.cpp b/tests/st/master/object_cache/oc_giveup_primary_test.cpp index c1dd5c1f07058995e7ad1dd9b92b13fa6c97d8e7..b56596f596dc6ce157f0bbd3ee1e92aab165545b 100644 --- a/tests/st/master/object_cache/oc_giveup_primary_test.cpp +++ b/tests/st/master/object_cache/oc_giveup_primary_test.cpp @@ -39,11 +39,11 @@ #include "datasystem/common/util/uri.h" #include "datasystem/master/object_cache/oc_metadata_manager.h" #include "datasystem/master/object_cache/oc_nested_manager.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object/object_enum.h" #include "datasystem/protos/generic_service.pb.h" #include "datasystem/protos/master_object.pb.h" #include "datasystem/protos/object_posix.pb.h" -#include "datasystem/kv_cache/kv_client.h" +#include "datasystem/kv_client.h" #include "datasystem/utils/status.h" #include "datasystem/worker/cluster_manager/etcd_cluster_manager.h" #include "datasystem/worker/hash_ring/hash_ring_allocator.h" diff --git a/tests/st/master/object_cache/oc_migrate_metadata_manager_test.cpp b/tests/st/master/object_cache/oc_migrate_metadata_manager_test.cpp index 9e61863821076aab63b18196cba7b2800670c04c..56c1daf37eb2bdf83b36cb1838b20088b8326698 100644 --- a/tests/st/master/object_cache/oc_migrate_metadata_manager_test.cpp +++ b/tests/st/master/object_cache/oc_migrate_metadata_manager_test.cpp @@ -41,7 +41,7 @@ #include "datasystem/protos/generic_service.pb.h" #include "datasystem/protos/master_object.pb.h" #include "datasystem/protos/object_posix.pb.h" -#include "datasystem/kv_cache/kv_client.h" +#include "datasystem/kv_client.h" #include "datasystem/utils/status.h" #include "datasystem/worker/cluster_manager/etcd_cluster_manager.h" #include "datasystem/worker/hash_ring/hash_ring_allocator.h" diff --git a/tests/st/worker/object_cache/evict_mem_test.cpp b/tests/st/worker/object_cache/evict_mem_test.cpp index 04211374c4f48eb04ba3125c6c5a18bd701cea55..a652d9ee2935fdf1b136ce7341a09e35af876c1e 100644 --- a/tests/st/worker/object_cache/evict_mem_test.cpp +++ b/tests/st/worker/object_cache/evict_mem_test.cpp @@ -34,7 +34,7 @@ #include "datasystem/common/inject/inject_point.h" #include "datasystem/common/util/thread_pool.h" #include "datasystem/master/object_cache/store/object_meta_store.h" -#include "datasystem/object_cache/buffer.h" +#include "datasystem/object/buffer.h" #include "datasystem/worker/cluster_manager/etcd_cluster_manager.h" #include "datasystem/worker/object_cache/async_send_manager.h" #include "datasystem/worker/object_cache/obj_cache_shm_unit.h" diff --git a/tests/st/worker/object_cache/worker_oc_eviction_test.cpp b/tests/st/worker/object_cache/worker_oc_eviction_test.cpp index 6e9240306376b6d2666f97475dd50a7eba3a0156..64ee4347edf93fbb1f4031b8bf66809548f2fdd6 100644 --- a/tests/st/worker/object_cache/worker_oc_eviction_test.cpp +++ b/tests/st/worker/object_cache/worker_oc_eviction_test.cpp @@ -33,7 +33,7 @@ #include "datasystem/common/inject/inject_point.h" #include "datasystem/common/util/thread_pool.h" #include "datasystem/master/object_cache/store/object_meta_store.h" -#include "datasystem/object_cache/buffer.h" +#include "datasystem/object/buffer.h" #include "datasystem/worker/cluster_manager/etcd_cluster_manager.h" #include "datasystem/worker/object_cache/async_send_manager.h" #include "datasystem/worker/object_cache/obj_cache_shm_unit.h" diff --git a/tests/st/worker/object_cache/worker_oc_service_impl_test.cpp b/tests/st/worker/object_cache/worker_oc_service_impl_test.cpp index 637e81d31503ec4036077e4043a5d02288f445be..5f7bbbeefe12e5564f0e0131552bdce843f57b66 100644 --- a/tests/st/worker/object_cache/worker_oc_service_impl_test.cpp +++ b/tests/st/worker/object_cache/worker_oc_service_impl_test.cpp @@ -35,9 +35,9 @@ #include "datasystem/master/object_cache/store/object_meta_store.h" #include "datasystem/master/replica_manager.h" #include "datasystem/master/object_cache/master_oc_service_impl.h" -#include "datasystem/object_cache/buffer.h" -#include "datasystem/object_cache/object_enum.h" -#include "datasystem/kv_cache/kv_client.h" +#include "datasystem/object/buffer.h" +#include "datasystem/object/object_enum.h" +#include "datasystem/kv_client.h" #include "datasystem/worker/client_manager/client_manager.h" #include "datasystem/worker/cluster_manager/etcd_cluster_manager.h" #include "datasystem/worker/object_cache/worker_oc_service_impl.h" diff --git a/tests/ut/common.h b/tests/ut/common.h index 29bf382c3d32f1128530e49058b1186b417ee2c6..ddb885d86c5a417c27595cc8e8bf47b6122328d1 100644 --- a/tests/ut/common.h +++ b/tests/ut/common.h @@ -91,12 +91,13 @@ namespace ut { } \ } while (false) -inline bool IsArmArchitecture() { - #if defined(__arm__) || defined(__aarch64__) || defined(__ARM_ARCH) - return true; - #else - return false; - #endif +inline bool IsArmArchitecture() +{ +#if defined(__arm__) || defined(__aarch64__) || defined(__ARM_ARCH) + return true; +#else + return false; +#endif } class CommonTest : public testing::Test { diff --git a/tests/ut/worker/object_cache/eviction_manager_common.h b/tests/ut/worker/object_cache/eviction_manager_common.h index 42ed66d1dc1d5f341464536f366aa3d9015739b0..43041139bb062c14f832f32f9147e3512618a853 100644 --- a/tests/ut/worker/object_cache/eviction_manager_common.h +++ b/tests/ut/worker/object_cache/eviction_manager_common.h @@ -30,7 +30,7 @@ #include "datasystem/common/immutable_string/immutable_string.h" #include "datasystem/common/shared_memory/allocator.h" #include "datasystem/common/object_cache/safe_table.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object/object_enum.h" #include "datasystem/master/object_cache/store/object_meta_store.h" #include "datasystem/worker/object_cache/obj_cache_shm_unit.h" #include "datasystem/worker/object_cache/worker_oc_eviction_manager.h" diff --git a/tests/ut/worker/object_cache/migrate_data_handler_test.cpp b/tests/ut/worker/object_cache/migrate_data_handler_test.cpp index 27eb48b66e95788316c9b4e978d61a37c16783ee..74e8575fdb538b7b8fb5a11fd2248924cad644b7 100644 --- a/tests/ut/worker/object_cache/migrate_data_handler_test.cpp +++ b/tests/ut/worker/object_cache/migrate_data_handler_test.cpp @@ -35,7 +35,7 @@ #include "datasystem/common/util/net_util.h" #include "datasystem/common/util/timer.h" #include "datasystem/common/log/log.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object/object_enum.h" #include "datasystem/utils/status.h" #include "datasystem/worker/object_cache/worker_oc_spill.h" #include "eviction_manager_common.h" diff --git a/tests/ut/worker/object_cache/worker_oc_eviction_test.cpp b/tests/ut/worker/object_cache/worker_oc_eviction_test.cpp index 9b9d85bdcdc0b740fdca92ff7609d56689355040..11111de820c962a6a7a9b48bb5ef3d21499a46c9 100644 --- a/tests/ut/worker/object_cache/worker_oc_eviction_test.cpp +++ b/tests/ut/worker/object_cache/worker_oc_eviction_test.cpp @@ -33,7 +33,7 @@ #include "datasystem/common/object_cache/safe_table.h" #include "datasystem/common/inject/inject_point.h" #include "datasystem/master/object_cache/store/object_meta_store.h" -#include "datasystem/object_cache/buffer.h" +#include "datasystem/object/buffer.h" #include "datasystem/worker/object_cache/async_send_manager.h" #include "datasystem/worker/object_cache/obj_cache_shm_unit.h" #include "datasystem/worker/object_cache/worker_master_oc_api.h" diff --git a/tests/ut/worker/object_cache/worker_oc_spill_eviction_test.cpp b/tests/ut/worker/object_cache/worker_oc_spill_eviction_test.cpp index 89f7d17c58f714c6181a1d3f20255739ee720f5d..6b411c0da9960637bd321bd73de3fb17ce8a5185 100644 --- a/tests/ut/worker/object_cache/worker_oc_spill_eviction_test.cpp +++ b/tests/ut/worker/object_cache/worker_oc_spill_eviction_test.cpp @@ -20,7 +20,7 @@ #include "datasystem/common/object_cache/object_ref_info.h" #include "datasystem/common/shared_memory/allocator.h" -#include "datasystem/object_cache/object_enum.h" +#include "datasystem/object/object_enum.h" #include "datasystem/utils/status.h" #include "datasystem/worker/object_cache/worker_oc_eviction_manager.h" #include "datasystem/worker/object_cache/worker_oc_spill.h"