Browse Source
gnu: ceph: Update to 12.2.4.
gnu: ceph: Update to 12.2.4.
* gnu/packages/patches/ceph-disable-cpu-optimizations.patch: Adjust to upstream changes. * gnu/packages/patches/ceph-disable-unittest-throttle.patch: Delete file. * gnu/packages/patches/ceph-rocksdb-compat.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/storage.scm (ceph): Update to 12.2.4. [source](patches): Adjust. [arguments]: Add "-DWITH_BABELTRACE=OFF" in #:configure-flags. Build with CMAKE-3.11. Adjust file substitutions. Wrap 'ceph' executable. [native-inputs]: Add GPERF. [inputs]: Replace BOOST with BOOST-1.66. Add PYTHON2-PRETTYTABLE.python-updates

No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
5 changed files with 116 additions and 107 deletions
-
2gnu/local.mk
-
64gnu/packages/patches/ceph-disable-cpu-optimizations.patch
-
52gnu/packages/patches/ceph-disable-unittest-throttle.patch
-
63gnu/packages/patches/ceph-rocksdb-compat.patch
-
42gnu/packages/storage.scm
@ -1,52 +0,0 @@ |
|||
FIXME: This test broke after the gcc-5/glibc-2.25 core-updates merge. |
|||
Not sure what's going on here, it hangs after spawning the first thread. |
|||
|
|||
diff --git a/src/test/common/Throttle.cc b/src/test/common/Throttle.cc
|
|||
index 5b6d73217d..40a477b2a3 100644
|
|||
--- a/src/test/common/Throttle.cc
|
|||
+++ b/src/test/common/Throttle.cc
|
|||
@@ -216,44 +216,6 @@ TEST_F(ThrottleTest, wait) {
|
|||
} while(!waited); |
|||
} |
|||
|
|||
-TEST_F(ThrottleTest, destructor) {
|
|||
- Thread_get *t;
|
|||
- {
|
|||
- int64_t throttle_max = 10;
|
|||
- Throttle *throttle = new Throttle(g_ceph_context, "throttle", throttle_max);
|
|||
-
|
|||
- ASSERT_FALSE(throttle->get(5));
|
|||
-
|
|||
- t = new Thread_get(*throttle, 7);
|
|||
- t->create("t_throttle");
|
|||
- bool blocked;
|
|||
- useconds_t delay = 1;
|
|||
- do {
|
|||
- usleep(delay);
|
|||
- if (throttle->get_or_fail(1)) {
|
|||
- throttle->put(1);
|
|||
- blocked = false;
|
|||
- } else {
|
|||
- blocked = true;
|
|||
- }
|
|||
- delay *= 2;
|
|||
- } while(!blocked);
|
|||
- delete throttle;
|
|||
- }
|
|||
-
|
|||
- { //
|
|||
- // The thread is left hanging, otherwise it will abort().
|
|||
- // Deleting the Throttle on which it is waiting creates a
|
|||
- // inconsistency that will be detected: the Throttle object that
|
|||
- // it references no longer exists.
|
|||
- //
|
|||
- pthread_t id = t->get_thread_id();
|
|||
- ASSERT_EQ(pthread_kill(id, 0), 0);
|
|||
- delete t;
|
|||
- ASSERT_EQ(pthread_kill(id, 0), 0);
|
|||
- }
|
|||
-}
|
|||
-
|
|||
std::pair<double, std::chrono::duration<double> > test_backoff( |
|||
double low_threshhold, |
|||
double high_threshhold, |
@ -0,0 +1,63 @@ |
|||
Fix compatibility with newer versions of RocksDB. |
|||
|
|||
Adapted from this upstream patch, with some additional changes for 12.2: |
|||
https://github.com/ceph/ceph/commit/9d73a7121fdb1ae87cb1aa6f7d9d7a13f329ae68 |
|||
|
|||
diff --git a/src/kv/RocksDBStore.cc b/src/kv/RocksDBStore.cc
|
|||
index 8660afe1886d..bc0de79e23cb 100644
|
|||
--- a/src/kv/RocksDBStore.cc
|
|||
+++ b/src/kv/RocksDBStore.cc
|
|||
@@ -505,7 +505,7 @@
|
|||
// considering performance overhead, default is disabled |
|||
if (g_conf->rocksdb_perf) { |
|||
rocksdb::SetPerfLevel(rocksdb::PerfLevel::kEnableTimeExceptForMutex); |
|||
- rocksdb::perf_context.Reset();
|
|||
+ rocksdb::get_perf_context()->Reset();
|
|||
} |
|||
|
|||
RocksDBTransactionImpl * _t = |
|||
@@ -532,13 +532,13 @@
|
|||
utime_t write_wal_time; |
|||
utime_t write_pre_and_post_process_time; |
|||
write_wal_time.set_from_double( |
|||
- static_cast<double>(rocksdb::perf_context.write_wal_time)/1000000000);
|
|||
+ static_cast<double>(rocksdb::get_perf_context()->write_wal_time)/1000000000);
|
|||
write_memtable_time.set_from_double( |
|||
- static_cast<double>(rocksdb::perf_context.write_memtable_time)/1000000000);
|
|||
+ static_cast<double>(rocksdb::get_perf_context()->write_memtable_time)/1000000000);
|
|||
write_delay_time.set_from_double( |
|||
- static_cast<double>(rocksdb::perf_context.write_delay_time)/1000000000);
|
|||
+ static_cast<double>(rocksdb::get_perf_context()->write_delay_time)/1000000000);
|
|||
write_pre_and_post_process_time.set_from_double( |
|||
- static_cast<double>(rocksdb::perf_context.write_pre_and_post_process_time)/1000000000);
|
|||
+ static_cast<double>(rocksdb::get_perf_context()->write_pre_and_post_process_time)/1000000000);
|
|||
logger->tinc(l_rocksdb_write_memtable_time, write_memtable_time); |
|||
logger->tinc(l_rocksdb_write_delay_time, write_delay_time); |
|||
logger->tinc(l_rocksdb_write_wal_time, write_wal_time); |
|||
@@ -558,7 +558,7 @@
|
|||
// considering performance overhead, default is disabled |
|||
if (g_conf->rocksdb_perf) { |
|||
rocksdb::SetPerfLevel(rocksdb::PerfLevel::kEnableTimeExceptForMutex); |
|||
- rocksdb::perf_context.Reset();
|
|||
+ rocksdb::get_perf_context()->Reset();
|
|||
} |
|||
|
|||
RocksDBTransactionImpl * _t = |
|||
@@ -586,13 +586,13 @@
|
|||
utime_t write_wal_time; |
|||
utime_t write_pre_and_post_process_time; |
|||
write_wal_time.set_from_double( |
|||
- static_cast<double>(rocksdb::perf_context.write_wal_time)/1000000000);
|
|||
+ static_cast<double>(rocksdb::get_perf_context()->write_wal_time)/1000000000);
|
|||
write_memtable_time.set_from_double( |
|||
- static_cast<double>(rocksdb::perf_context.write_memtable_time)/1000000000);
|
|||
+ static_cast<double>(rocksdb::get_perf_context()->write_memtable_time)/1000000000);
|
|||
write_delay_time.set_from_double( |
|||
- static_cast<double>(rocksdb::perf_context.write_delay_time)/1000000000);
|
|||
+ static_cast<double>(rocksdb::get_perf_context()->write_delay_time)/1000000000);
|
|||
write_pre_and_post_process_time.set_from_double( |
|||
- static_cast<double>(rocksdb::perf_context.write_pre_and_post_process_time)/1000000000);
|
|||
+ static_cast<double>(rocksdb::get_perf_context()->write_pre_and_post_process_time)/1000000000);
|
|||
logger->tinc(l_rocksdb_write_memtable_time, write_memtable_time); |
|||
logger->tinc(l_rocksdb_write_delay_time, write_delay_time); |
|||
logger->tinc(l_rocksdb_write_wal_time, write_wal_time); |
Write
Preview
Loading…
Cancel
Save
Reference in new issue