[Bug 1914911] Re: [SRU] bluefs doesn't compact log file
Mathew Hodson
1914911 at bugs.launchpad.net
Thu Sep 30 18:47:07 UTC 2021
** Changed in: ceph (Ubuntu)
Status: Invalid => Fix Released
** Changed in: cloud-archive
Status: Invalid => 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/1914911
Title:
[SRU] bluefs doesn't compact log file
Status in Ubuntu Cloud Archive:
Fix Released
Status in Ubuntu Cloud Archive queens series:
Fix Released
Status in ceph package in Ubuntu:
Fix Released
Status in ceph source package in Bionic:
Fix Released
Bug description:
[Impact]
For a certain type of workload, the bluefs might never compact the log
file, which would cause the bluefs log file slowly grows to a huge
size (some bigger than 1TB for a 1.5T device).
There are more details in the bluefs perf counters when this issue happened:
e.g.
"bluefs": {
"gift_bytes": 811748818944,
"reclaim_bytes": 0,
"db_total_bytes": 888564350976,
"db_used_bytes": 867311747072,
"wal_total_bytes": 0,
"wal_used_bytes": 0,
"slow_total_bytes": 0,
"slow_used_bytes": 0,
"num_files": 11,
"log_bytes": 866545131520,
"log_compactions": 0,
"logged_bytes": 866542977024,
"files_written_wal": 2,
"files_written_sst": 3,
"bytes_written_wal": 32424281934,
"bytes_written_sst": 25382201
}
This bug could eventually cause osd crash and failed to restart as it couldn't get through the bluefs replay phase during boot time.
We might see below log when trying to restart the osd:
bluefs mount failed to replay log: (5) Input/output error
As we can see the log_compactions is 0, which means it's never
compacted and the log file size(log_bytes) is already 800+G. After the
compaction, the log file size would need to be reduced to around 1G.
[Test Case]
Deploy a test ceph cluster (Luminous 12.2.13 which has the bug) and
drive I/O. The compaction doesn't get triggered often when most I/O
are reads. So fill up the cluster initially with lots of writes and
then start reading heavy reads (no writes). Then the problem should
occur. Smaller sized OSDs are OK as we'are only interested filling up
the OSD and grow the bluefs log.
[Where problems could occur]
This fix has been part of all upstream releases since Mimic, so there's been quite good "runtime".
The changes ensure that compaction happens more often. But that's not going to cause any problem.
I can't see any real problems.
[Other Info]
- It's only needed for Luminous (Bionic). All new releases since have this already.
- Upstream master PR: https://github.com/ceph/ceph/pull/17354
- Upstream Luminous PR: https://github.com/ceph/ceph/pull/34876/files
To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/1914911/+subscriptions
More information about the Ubuntu-openstack-bugs
mailing list