[Bug 1894453] Re: Building Ceph packages with RelWithDebInfo
Corey Bryant
1894453 at bugs.launchpad.net
Mon Jan 4 15:28:08 UTC 2021
This bug was fixed in the package ceph - 12.2.13-0ubuntu0.18.04.5~cloud0
---------------
ceph (12.2.13-0ubuntu0.18.04.5~cloud0) xenial-queens; urgency=medium
.
* New update for the Ubuntu Cloud Archive.
.
ceph (12.2.13-0ubuntu0.18.04.5) bionic; urgency=medium
.
* d/p/rules: Enable RelWithDebInfo (LP: #1894453).
** Changed in: cloud-archive/queens
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to Ubuntu Cloud Archive.
https://bugs.launchpad.net/bugs/1894453
Title:
Building Ceph packages with RelWithDebInfo
Status in Ubuntu Cloud Archive:
Invalid
Status in Ubuntu Cloud Archive queens series:
Fix Released
Status in Ubuntu Cloud Archive stein series:
Fix Released
Status in Ubuntu Cloud Archive train series:
Fix Released
Status in Ubuntu Cloud Archive ussuri series:
Fix Released
Status in ceph package in Ubuntu:
Fix Released
Status in ceph source package in Bionic:
Fix Released
Status in ceph source package in Focal:
Fix Released
Bug description:
[Impact]
This is to build the Ceph packages (UCA) with 'RelWithDebInfo' build option (CMAKE_BUILD_TYPE [0]) which can be supplied to the build script do_cmake.sh [0].
Currently, UCA builds default to 'Debug' [1] builds. The UCA's build process does debug build just for the rocksdb component - because the upstream builds (CMakeLists.txt) left it to individual projects using rocksdb. So UCA's build used the default (debug build). Upstream has since
updated this to do release build (with RelWithDebInfo option) [2].
In general, gcc's -O2 [3] (which will be enabled by RelWithDebInfo)
build should generate better code as well as there's a specific case
for Ceph [4] that it improves performance.
Building rocksdb with optimizations enabled improves the performance and
rocksdb being an important part of OSD and MON components of Ceph, this
enables better performance of Ceph cluster. Comments #17, #18, & #19
show relevant test results.
[Test Case]
Standard ceph-backed OpenStack regression will be run, consisting of juju-deployed OpenStack+ceph and tempest regression testing against the deployment.
[Regression Potential]
As Ponnuvel mentioned, the size of binaries will be slightly bigger and also the build/compilation will be longer.
There are no upstream bugs for this. rocksdb is one of the submodules
in Ceph and how each of the submodule gets built is left to end-users.
The bug [5] where this change was done in upstream is not relevant
directly; this change was done as part of a different bug fix.
[0] https://github.com/ceph/ceph/blob/master/do_cmake.sh
[1] https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html
[2] https://github.com/facebook/rocksdb/pull/5916
[3] https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html
[4] https://bugs.gentoo.org/show_bug.cgi?id=733316
[5] https://github.com/facebook/rocksdb/issues/2445
To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/1894453/+subscriptions
More information about the Ubuntu-openstack-bugs
mailing list