Ceph - RocksDB cache size is limited to 2GB -1(2147483647 bytes) in Red Hat Ceph Storage 2.4 async - `10.2.7-48.el7cp` and before versions, why?

Solution Verified - Updated

Environment

  • Red Hat Ceph Storage 2.4 async - 10.2.7-48.el7cp and before
  • Red Hat Ceph Storage 2.5 - 10.2.10-17.el7cp and above
  • Red Hat Ceph Storage 3 and above

Issue

  • RocksDB cache size is limited to 2GB -1(2147483647 bytes) in Red Hat Ceph Storage 2.4 async - 10.2.7-48.el7cp and before versions, why?
  • Not able to set rocksdb_cache_size above 2147483647 bytes, why?

Resolution

  • In Red Hat Ceph Storage 2.4 async - 10.2.7-48.el7cp and before versions rocksdb_cache_size variable has its data type as integer and its maximum supported value is 2GB -1(2147483647 bytes).

  • In Red Hat Ceph Storage 2.5 - 10.2.10-17.el7cp and above including Red Hat Ceph Storage 3 this rocksdb_cache_size variable data type was changed to unsigned 64 - U64 and with this now this variable can hold max value as - 2^64-1 Bytes.

  • If you are using Red Hat Ceph Storage versions 2.4 and before then please do not use rocksdb_cache_size value above than 2GB -1(2147483647 bytes) because it will reset it back to default 128MB because integer max size overflow and it will cause a lot of performance issue if your RGW bucket index pool OSD's need more than 128MB of rocksdb cache.

Root Cause

  • In Red Hat Ceph Storage 2.4 async - 10.2.7-48.el7cp and before versions rocksdb_cache_size variable has its data type as integer and its maximum supported value is 2GB -1(2147483647 bytes).
SBR
Category

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.