Building Ceph packages with RelWithDebInfo
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu Cloud Archive |
Invalid
|
Undecided
|
Unassigned | ||
Queens |
Fix Released
|
Medium
|
Ponnuvel Palaniyappan | ||
Stein |
Fix Released
|
Medium
|
Ponnuvel Palaniyappan | ||
Train |
Fix Released
|
Medium
|
Ponnuvel Palaniyappan | ||
Ussuri |
Fix Released
|
Medium
|
Ponnuvel Palaniyappan | ||
ceph (Ubuntu) |
Fix Released
|
Undecided
|
James Page | ||
Bionic |
Fix Released
|
Medium
|
Ponnuvel Palaniyappan | ||
Focal |
Fix Released
|
Medium
|
Unassigned |
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:/
[1] https:/
[2] https:/
[3] https:/
tags: | added: sts |
Changed in ceph (Ubuntu): | |
assignee: | nobody → James Page (james-page) |
status: | New → In Progress |
description: | updated |
description: | updated |
Changed in ceph (Ubuntu Bionic): | |
status: | New → Triaged |
importance: | Undecided → Medium |
Changed in ceph (Ubuntu Focal): | |
importance: | Undecided → Medium |
status: | New → Triaged |
Changed in cloud-archive: | |
status: | New → Fix Released |
status: | Fix Released → Invalid |
description: | updated |
description: | updated |
Another thing to note is that the size of binaries will be slightly bigger and also the build/compilation will be longer.