Bug 1813974 - [RFE] librbd - support for sending compressible/incompressible allocation hints to the OSD
Summary: [RFE] librbd - support for sending compressible/incompressible allocation hin...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Ceph Storage
Classification: Red Hat Storage
Component: RBD
Version: 5.0
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: ---
: 5.0
Assignee: Ilya Dryomov
QA Contact: Harish Munjulur
Amrita
URL:
Whiteboard:
Depends On:
Blocks: 1929679 1959686
TreeView+ depends on / blocked
 
Reported: 2020-03-16 15:40 UTC by Jason Dillaman
Modified: 2021-08-30 08:24 UTC (History)
9 users (show)

Fixed In Version: ceph-16.0.0-8633.el8cp
Doc Type: Enhancement
Doc Text:
.Support for sending compressible or incompressible hints in librbd-based clients Previously, there was no way to hint to the underlying OSD object store backend whether data is compressible or incompressible. With this release, `the rbd_compression_hint` configuration option can be used to hint whether data is compressible or incompressible, to the underlying OSD object store backend. This can be done per-image, per-pool or globally. See the link:{block-dev-guide}#block-device-input-output-options_block[_Block device input and output options_] section in the _{storage-product} Block Device Guide_ for more information.
Clone Of:
Environment:
Last Closed: 2021-08-30 08:23:52 UTC
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker RHCEPH-1140 0 None None None 2021-08-30 00:13:05 UTC
Red Hat Product Errata RHBA-2021:3294 0 None None None 2021-08-30 08:24:33 UTC

Description Jason Dillaman 2020-03-16 15:40:25 UTC
librbd-based clients support a new "rbd_compression_hint" configuration option that can be set to "none" (default), "compressible", or "incompressible". This configuration option can be set globally in the cluster, per-pool, or per-image. 

Support to add this to krbd will be forthcoming in a future upstream kernel release.

Comment 1 RHEL Program Management 2020-03-16 15:40:33 UTC
Please specify the severity of this bug. Severity is defined here:
https://bugzilla.redhat.com/page.cgi?id=fields.html#bug_severity.

Comment 4 Harish Munjulur 2021-03-12 00:23:41 UTC
pool level and global level config are not set

steps:
1. [ceph: root@magna021 ~]# rbd config global get global rbd_compression_hint 
compressible
2. [ceph: root@magna021 ~]#  ceph osd pool get comp_pool compression_mode        
compression_mode: passive
3. Run librbd write

observed: 
debug 2021-03-12T00:11:32.310+0000 7fcf37de6700 15 bluestore(/var/lib/ceph/osd/ceph-16) _set_alloc_hint 27.19_head #27:9aef75b5:::rbd_data.438c81590dd.0000000000000000:head# object_size 4194304 write_size 4194304 flags -
debug 2021-03-12T00:11:32.310+0000 7fcf37de6700 10 bluestore(/var/lib/ceph/osd/ceph-16) _set_alloc_hint 27.19_head #27:9aef75b5:::rbd_data.438c81590dd.0000000000000000:head# object_size 4194304 write_size 4194304 flags - = 0


expected:(seen on image level config)
debug 2021-03-10T00:50:55.092+0000 7fcf37de6700 15 bluestore(/var/lib/ceph/osd/ceph-16) _set_alloc_hint 27.19_head #27:9aef75b5:::rbd_data.438c81590dd.0000000000000000:head# object_size 4194304 write_size 4194304 flags compressible
debug 2021-03-10T00:50:55.092+0000 7fcf37de6700 10 bluestore(/var/lib/ceph/osd/ceph-16) _set_alloc_hint 27.19_head #27:9aef75b5:::rbd_data.438c81590dd.0000000000000000:head# object_size 4194304 write_size 4194304 flags compressible = 0

Comment 5 Jason Dillaman 2021-03-12 00:42:27 UTC
It looks like you left the image-level override on the image:

$ # rbd config image ls comp_pool/comp_image
There are 77 values:
Name                                         Value        Source
... snip ...
rbd_compression_hint                         none         image

Comment 6 Harish Munjulur 2021-03-12 18:34:54 UTC
Working as expected 


logs: 

debug 2021-03-12T01:08:22.288+0000 7fcf37de6700 15 bluestore(/var/lib/ceph/osd/ceph-16) _set_alloc_hint 27.19_head #27:9aef75b5:::rbd_data.438c81590dd.0000000000000000:head# object_size 4194304 write_size 4194304 flags incompressible
debug 2021-03-12T01:08:22.288+0000 7fcf37de6700 10 bluestore(/var/lib/ceph/osd/ceph-16) _set_alloc_hint 27.19_head #27:9aef75b5:::rbd_data.438c81590dd.0000000000000000:head# object_size 4194304 write_size 4194304 flags incompressible = 0

debug 2021-03-10T00:50:55.092+0000 7fcf37de6700 15 bluestore(/var/lib/ceph/osd/ceph-16) _set_alloc_hint 27.19_head #27:9aef75b5:::rbd_data.438c81590dd.0000000000000000:head# object_size 4194304 write_size 4194304 flags compressible
debug 2021-03-10T00:50:55.092+0000 7fcf37de6700 10 bluestore(/var/lib/ceph/osd/ceph-16) _set_alloc_hint 27.19_head #27:9aef75b5:::rbd_data.438c81590dd.0000000000000000:head# object_size 4194304 write_size 4194304 flags compressible = 0

Comment 7 Amrita 2021-05-20 12:10:28 UTC
Hi Greg,

Please set the rdt flat to ? and provide the doc text information as this needs to be included in the Release Notes 5.0.

Thanks
Amrita

Comment 11 errata-xmlrpc 2021-08-30 08:23:52 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Red Hat Ceph Storage 5.0 bug fix and enhancement), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2021:3294


Note You need to log in before you can comment on or make changes to this bug.