From 5696c85aa8ef2a99d1a6a6944b0159bb4a639156 Mon Sep 17 00:00:00 2001 From: Minghao Li Date: Sun, 6 Mar 2022 18:58:20 +0800 Subject: [PATCH] sync refactor --- source/libs/sync/test/CMakeLists.txt | 14 ++++++ source/libs/sync/test/syncIndexTest.cpp | 63 +++++++++++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100644 source/libs/sync/test/syncIndexTest.cpp diff --git a/source/libs/sync/test/CMakeLists.txt b/source/libs/sync/test/CMakeLists.txt index 4c5f7ffa56..770d1d1bd8 100644 --- a/source/libs/sync/test/CMakeLists.txt +++ b/source/libs/sync/test/CMakeLists.txt @@ -9,6 +9,7 @@ add_executable(syncIOSendMsgClientTest "") add_executable(syncIOSendMsgServerTest "") add_executable(syncRaftStoreTest "") add_executable(syncEnqTest "") +add_executable(syncIndexTest "") target_sources(syncTest @@ -55,6 +56,10 @@ target_sources(syncEnqTest PRIVATE "syncEnqTest.cpp" ) +target_sources(syncIndexTest + PRIVATE + "syncIndexTest.cpp" +) target_include_directories(syncTest @@ -112,6 +117,11 @@ target_include_directories(syncEnqTest "${CMAKE_SOURCE_DIR}/include/libs/sync" "${CMAKE_CURRENT_SOURCE_DIR}/../inc" ) +target_include_directories(syncIndexTest + PUBLIC + "${CMAKE_SOURCE_DIR}/include/libs/sync" + "${CMAKE_CURRENT_SOURCE_DIR}/../inc" +) target_link_libraries(syncTest @@ -158,6 +168,10 @@ target_link_libraries(syncEnqTest sync gtest_main ) +target_link_libraries(syncIndexTest + sync + gtest_main +) enable_testing() diff --git a/source/libs/sync/test/syncIndexTest.cpp b/source/libs/sync/test/syncIndexTest.cpp new file mode 100644 index 0000000000..ece58fb9b0 --- /dev/null +++ b/source/libs/sync/test/syncIndexTest.cpp @@ -0,0 +1,63 @@ +#include +#include +#include "syncIO.h" +#include "syncInt.h" +#include "syncRaftStore.h" + +void print(SHashObj *pNextIndex) { + printf("----------------\n"); + uint64_t *p = (uint64_t *)taosHashIterate(pNextIndex, NULL); + while (p) { + printf("%lu \n", *p); + p = (uint64_t *)taosHashIterate(pNextIndex, p); + } +} + +int main() { + // taosInitLog((char *)"syncTest.log", 100000, 10); + tsAsyncLog = 0; + sDebugFlag = 143 + 64; + + sTrace("sync log test: trace"); + sDebug("sync log test: debug"); + sInfo("sync log test: info"); + sWarn("sync log test: warn"); + sError("sync log test: error"); + sFatal("sync log test: fatal"); + + SRaftId me; + SRaftId peer1; + SRaftId peer2; + + me.addr = 0; + me.vgId = 99; + peer1.addr = 1; + peer1.vgId = 99; + peer2.addr = 2; + peer2.vgId = 99; + + uint64_t index; + SHashObj *pNextIndex = + taosHashInit(sizeof(SRaftId), taosGetDefaultHashFunction(TSDB_DATA_TYPE_BINARY), true, HASH_NO_LOCK); + + index = 1000; + taosHashPut(pNextIndex, &me, sizeof(me), &index, sizeof(index)); + index = 1001; + taosHashPut(pNextIndex, &peer1, sizeof(peer1), &index, sizeof(index)); + index = 1002; + taosHashPut(pNextIndex, &peer2, sizeof(peer2), &index, sizeof(index)); + + print(pNextIndex); + + SRaftId find; + find = peer1; + uint64_t *p; + p = (uint64_t *)taosHashGet(pNextIndex, &find, sizeof(find)); + (*p) += 900; + + print(pNextIndex); + + taosHashCleanup(pNextIndex); + + return 0; +}