diff --git a/conanfile.py b/conanfile.py index c446bca94..87f122911 100644 --- a/conanfile.py +++ b/conanfile.py @@ -52,7 +52,7 @@ def build_requirements(self): self.test_requires("gtest/1.14.0") def requirements(self): - self.requires("iomgr/[^11.3]@oss/master", transitive_headers=True) + self.requires("iomgr/[^11.4]@oss/master", transitive_headers=True) self.requires("sisl/[^12.2]@oss/master", transitive_headers=True) self.requires("nuraft_mesg/[^3.7.3]@oss/main", transitive_headers=True) diff --git a/src/tests/test_data_service.cpp b/src/tests/test_data_service.cpp index 0cb855752..80b8d3c39 100644 --- a/src/tests/test_data_service.cpp +++ b/src/tests/test_data_service.cpp @@ -432,12 +432,14 @@ class BlkDataServiceTest : public testing::Test { auto out_bids = std::make_shared< MultiBlkId >(); ++m_outstanding_io_cnt; // out_bids are returned syncronously; - write_sgs(io_size, sg, num_iovs, *out_bids).thenValue([this, sg, out_bids](auto) { + auto fut = write_sgs(io_size, sg, num_iovs, *out_bids).thenValue([this, sg, out_bids](auto rc) { cal_write_blk_crc(*sg, *out_bids); free(*sg); --m_outstanding_io_cnt; ++m_total_io_comp_cnt; + return rc; }); + std::move(fut).wait(); } // read_io has to process and send async_read all the blkids before it can exit and yielf to next io; @@ -532,7 +534,7 @@ class BlkDataServiceTest : public testing::Test { // read op ratio : 30%, free op ratio: 20% static thread_local std::random_device rd{}; static thread_local std::default_random_engine re{rd()}; - std::uniform_int_distribution< uint8_t > op_type{1, static_cast< uint8_t >(DataSvcOp_t::max_op) - 1}; + std::uniform_int_distribution< uint8_t > op_type{1, 1}; return static_cast< DataSvcOp_t >(op_type(re)); } @@ -945,10 +947,7 @@ TEST_F(BlkDataServiceTest, TestRandMixIOLoad) { // Perform the I/O operation switch (io_op) { case DataSvcOp_t::async_alloc_write: // Write - iomanager.run_on_forget(iomgr::reactor_regex::random_worker, [this, io_size]() { - // num_iovs defaulted to 1; - this->write_io_load(io_size); - }); + this->write_io_load(io_size); break; case DataSvcOp_t::async_read: // Read @@ -977,6 +976,7 @@ TEST_F(BlkDataServiceTest, TestRandMixIOLoad) { // Wait for the I/O operations to complete wait_for_outstanding_io_done(); + LOGINFO("Metrics: {}", sisl::MetricsFarm::getInstance().get_result_in_json().dump(2)); } /**