diff --git a/CMakeLists.txt b/CMakeLists.txt index c83db07df6eafe89e5eb6e6ba7d23ffd2749519f..4d1aa9592d6ed5bcc3232476e475ab9d30c9726d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,24 +5,24 @@ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) -add_definitions(-DNDEBUG) #是å¦ç¦ç”¨assert. +# add_definitions(-DNDEBUG) #是å¦ç¦ç”¨assert. -set(CMAKE_BUILD_TYPE "Release") +# set(CMAKE_BUILD_TYPE "Release") # set(CMAKE_BUILD_TYPE "Debug") set(CMAKE_CXX_STANDARD 17) -# set(CMAKE_CXX_FLAGS "-Wall -O0 -g -ggdb3") +set(CMAKE_CXX_FLAGS "-Wall -O0 -g -ggdb3") # set(CMAKE_CXX_FLAGS "-Wall -O0 -g -ggdb3 -fsanitize=thread") # set(CMAKE_CXX_FLAGS "-Wall -O0 -g -ggdb3 -ltsan -fsanitize=thread") # set(CMAKE_CXX_FLAGS "-Wall -O0 -g -ggdb3 -fsanitize=undefined") # set(CMAKE_CXX_FLAGS "-Wall -O0 -g -ggdb3 -fsanitize=address -fsanitize-recover=address") # set(CMAKE_CXX_FLAGS "-Wall -O2 -g -ggdb3") -set(CMAKE_CXX_FLAGS "-Wall -O3") +# set(CMAKE_CXX_FLAGS "-Wall -O3") -# set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -g") -# set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0 -g") -set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3") -set(CMAKE_C_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3") +set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -g") +set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0 -g") +# set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3") +# set(CMAKE_C_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3") enable_testing() add_subdirectory(src) diff --git a/check_master.py b/check_master.py index e5649583ef18a7aedd07b53c30e7114fc2f0cb5e..30cc5ff4daff9cf11ab1580bacbe1e9d598ae123 100644 --- a/check_master.py +++ b/check_master.py @@ -3,7 +3,7 @@ import subprocess import time MAX_ITER_NUM = 1 -PROCESS_NUM = 1 +PROCESS_NUM = 32 RECOVER_ITER_NUM = 1 is_exit = False is_auto_start_server = False diff --git a/src/recovery/log_recovery.cpp b/src/recovery/log_recovery.cpp index f5ebfedd1b597bda2637f03e3ac4d37666444c75..197fb8e2a887a490e36c10926bb6d042e4e0616c 100644 --- a/src/recovery/log_recovery.cpp +++ b/src/recovery/log_recovery.cpp @@ -306,22 +306,24 @@ void RecoveryManager::parseLog(){ #endif } else if(new_log->log_type_ == LogType::IX_INSERT){ - IxInsertLogRecord* ix_ins_rec = new IxInsertLogRecord(); - ix_ins_rec->deserialize(this->buffer_ + offset); - this->read_log_records.emplace_back(ix_ins_rec); - offset+= ix_ins_rec->log_tot_len_; - #ifdef DEBUG_RECOVERY - ix_ins_rec->format_print(); - #endif + // IxInsertLogRecord* ix_ins_rec = new IxInsertLogRecord(); + // ix_ins_rec->deserialize(this->buffer_ + offset); + // this->read_log_records.emplace_back(ix_ins_rec); + // offset+= ix_ins_rec->log_tot_len_; + // #ifdef DEBUG_RECOVERY + // ix_ins_rec->format_print(); + // #endif + assert(0); } else if(new_log->log_type_ == LogType::IX_DELETE){ - IxDeleteLogRecord* ix_del_rec = new IxDeleteLogRecord(); - ix_del_rec->deserialize(this->buffer_ + offset); - this->read_log_records.emplace_back(ix_del_rec); - offset+= ix_del_rec->log_tot_len_; - #ifdef DEBUG_RECOVERY - ix_del_rec->format_print(); - #endif + // IxDeleteLogRecord* ix_del_rec = new IxDeleteLogRecord(); + // ix_del_rec->deserialize(this->buffer_ + offset); + // this->read_log_records.emplace_back(ix_del_rec); + // offset+= ix_del_rec->log_tot_len_; + // #ifdef DEBUG_RECOVERY + // ix_del_rec->format_print(); + // #endif + assert(0); } //TODO else{ diff --git a/src/storage/disk_manager.cpp b/src/storage/disk_manager.cpp index 54459eb8603bcc71ac372d006182f95b48be24ac..665cdcb3d5f025eb79efbf277ba03f56976a4730 100644 --- a/src/storage/disk_manager.cpp +++ b/src/storage/disk_manager.cpp @@ -17,8 +17,8 @@ See the Mulan PSL v2 for more details. */ #include "defs.h" #define SHOW_IO -// #define ENABLE_ASSERT_DISKMANAGER -// #define DEBUG_DISK_MANAGER +#define ENABLE_ASSERT_DISKMANAGER +#define DEBUG_DISK_MANAGER DiskManager::DiskManager() { @@ -295,12 +295,12 @@ void DiskManager::write_log(char *log_data, int size) { // write from the file_end lseek64(log_fd_, 0, SEEK_END); ssize_t bytes_write = write(log_fd_, log_data, size); - // int sync_result = fsync(log_fd_); - // if(sync_result == -1) { - // #ifdef ENABLE_ASSERT_DISKMANAGER - // assert(0); - // #endif - // } + int sync_result = fsync(log_fd_); + if(sync_result == -1) { + #ifdef ENABLE_ASSERT_DISKMANAGER + assert(0); + #endif + } if (bytes_write != size) { #ifdef DEBUG_DISK_MANAGER assert(0);