[Commits] dccebdf862d: Rdb_io_watchdog doesn't support osx so disabling it

Varun varunraiko1803 at gmail.com
Wed Aug 30 15:36:28 EEST 2017


revision-id: dccebdf862d66e65528e18562c4503f40b695eca (mariadb-10.3.0-107-gdccebdf862d)
parent(s): e1051590b61b45532284071ac78c50e7a2f24c63
author: Varun Gupta
committer: Varun Gupta
timestamp: 2017-08-30 18:05:52 +0530
message:

Rdb_io_watchdog doesn't support osx so disabling it

---
 storage/rocksdb/CMakeLists.txt     |  4 ++++
 storage/rocksdb/ha_rocksdb.cc      | 14 +++++++++++++-
 storage/rocksdb/rdb_io_watchdog.cc |  2 ++
 storage/rocksdb/rdb_io_watchdog.h  |  6 ++++--
 4 files changed, 23 insertions(+), 3 deletions(-)

diff --git a/storage/rocksdb/CMakeLists.txt b/storage/rocksdb/CMakeLists.txt
index 5db6d888bb6..435fe784d6c 100644
--- a/storage/rocksdb/CMakeLists.txt
+++ b/storage/rocksdb/CMakeLists.txt
@@ -146,7 +146,11 @@ ADD_CONVENIENCE_LIBRARY(rocksdb_aux_lib
 ADD_DEPENDENCIES(rocksdb_aux_lib GenError)
 
 # MARIAROCKS-TODO: how to properly depend on -lrt ?
+if (APPLE)
+TARGET_LINK_LIBRARIES(rocksdb_aux_lib rocksdblib ${ZLIB_LIBRARY})
+else()
 TARGET_LINK_LIBRARIES(rocksdb_aux_lib rocksdblib ${ZLIB_LIBRARY} -lrt)
+endif()
 
 TARGET_LINK_LIBRARIES(rocksdb rocksdb_aux_lib)
 
diff --git a/storage/rocksdb/ha_rocksdb.cc b/storage/rocksdb/ha_rocksdb.cc
index e4d9ce02f10..4ffe6caf70b 100644
--- a/storage/rocksdb/ha_rocksdb.cc
+++ b/storage/rocksdb/ha_rocksdb.cc
@@ -173,9 +173,11 @@ Rdb_ddl_manager ddl_manager;
 const char *m_mysql_gtid;
 Rdb_binlog_manager binlog_manager;
 
-#ifndef _WIN32 
+#ifndef _WIN32
+#ifndef __APPLE__
 Rdb_io_watchdog *io_watchdog = nullptr;
 #endif
+#endif
 /**
   MyRocks background thread control
   N.B. This is besides RocksDB's own background threads
@@ -555,7 +557,9 @@ static void rocksdb_set_io_write_timeout(
   DBUG_ASSERT(save != nullptr);
   DBUG_ASSERT(rdb != nullptr);
 #ifndef _WIN32
+#ifndef __APPLE__
   DBUG_ASSERT(io_watchdog != nullptr);
+#endif
 #endif
 
   RDB_MUTEX_LOCK_CHECK(rdb_sysvars_mutex);
@@ -564,7 +568,9 @@ static void rocksdb_set_io_write_timeout(
 
   rocksdb_io_write_timeout_secs = new_val;
 #ifndef _WIN32
+#ifndef __APPLE__
   io_watchdog->reset_timeout(rocksdb_io_write_timeout_secs);
+#endif
 #endif
   RDB_MUTEX_UNLOCK_CHECK(rdb_sysvars_mutex);
 }
@@ -3746,7 +3752,9 @@ static int rocksdb_init_func(void *const p) {
     */
     if (status.IsIOError() 
 #ifndef _WIN32
+#ifndef __APPLE__
       && errno == ENOENT
+#endif
 #endif
       ) {
       sql_print_information("RocksDB: Got ENOENT when listing column families");
@@ -3985,8 +3993,10 @@ static int rocksdb_init_func(void *const p) {
   }
 
 #ifndef _WIN32
+#ifndef __APPLE__
   io_watchdog = new Rdb_io_watchdog(directories);
   io_watchdog->reset_timeout(rocksdb_io_write_timeout_secs);
+#endif
 #endif
 
   // NO_LINT_DEBUG
@@ -4077,9 +4087,11 @@ static int rocksdb_done_func(void *const p) {
   commit_latency_stats = nullptr;
 
 #ifndef _WIN32
+#ifndef __APPLE__
   delete io_watchdog;
   io_watchdog = nullptr;
 #endif
+#endif
 
 // Disown the cache data since we're shutting down.
 // This results in memory leaks but it improved the shutdown time.
diff --git a/storage/rocksdb/rdb_io_watchdog.cc b/storage/rocksdb/rdb_io_watchdog.cc
index a599ba58aec..a9e79283382 100644
--- a/storage/rocksdb/rdb_io_watchdog.cc
+++ b/storage/rocksdb/rdb_io_watchdog.cc
@@ -23,6 +23,7 @@
 
 /* Rdb_io_watchdog doesn't work on Windows [yet] */
 #ifndef _WIN32
+#ifndef __APPLE__
 
 namespace myrocks {
 
@@ -236,4 +237,5 @@ int Rdb_io_watchdog::reset_timeout(const uint32_t &write_timeout) {
 }  // namespace myrocks
 
 #endif
+#endif
 
diff --git a/storage/rocksdb/rdb_io_watchdog.h b/storage/rocksdb/rdb_io_watchdog.h
index de8c1b9500e..12aec516f26 100644
--- a/storage/rocksdb/rdb_io_watchdog.h
+++ b/storage/rocksdb/rdb_io_watchdog.h
@@ -35,7 +35,8 @@
 namespace myrocks {
 
 // Rdb_io_watchdog does not support Windows ATM.
-#ifndef _WIN32 
+#ifndef _WIN32
+#ifndef __APPLE__
 
 class Rdb_io_watchdog {
   const int RDB_IO_WRITE_BUFFER_SIZE = 4096;
@@ -113,5 +114,6 @@ class Rdb_io_watchdog {
   Rdb_io_watchdog &operator=(const Rdb_io_watchdog &) = delete;
 };
 
-#endif 
+#endif
+#endif
 }  // namespace myrocks


More information about the commits mailing list