Back to bug 2159307

Who When What Removed Added
Dhairya Parmar 2023-01-09 11:19:18 UTC Assignee nobody dparmar
Red Hat One Jira (issues.redhat.com) 2023-01-09 11:30:49 UTC Link ID Red Hat Issue Tracker RHCEPH-5893
Vivek Das 2023-01-10 04:32:38 UTC CC vdas
Severity unspecified medium
Greg Farnum 2023-04-10 14:46:24 UTC Status NEW MODIFIED
CC gfarnum
Keywords Rebase
Ken Dreyer (Red Hat) 2023-04-10 21:31:11 UTC CC kdreyer
Link ID Github ceph/ceph/pull/49655
errata-xmlrpc 2023-04-10 21:31:39 UTC Status MODIFIED ON_QA
Hemanth Kumar 2023-04-19 20:49:15 UTC Status ON_QA VERIFIED
Akash Raj 2023-05-03 06:33:38 UTC Flags needinfo?(dparmar)
CC akraj
Docs Contact akraj
Dhairya Parmar 2023-05-08 11:04:32 UTC Doc Text Cause: _calculate_ops relies on a config option filer_max_purge_ops (which can be modified on the fly too) and might lead to some serious consequences.

Consequence: ops_in_flight (part of PurgeQueue, and of data type uint64) depends on config option filer_max_purge_ops, if it's value is set to more than what uint64 can handle then there is will integer overflow and this makes ops_in_flight far more greater than max_purge_ops and it can't go back to a reasonable value.

Fix: filer_max_purge_ops is indeed used in Filer::_do_purge_range(), so it's okay to ignore it's use here.

Result: no more integer overflow thus no more overflowed value of ops_in_flight.
Doc Type If docs needed, set a value Bug Fix
Dhairya Parmar 2023-05-08 11:06:00 UTC Flags needinfo?(dparmar)
Akash Raj 2023-05-19 11:46:18 UTC Doc Text Cause: _calculate_ops relies on a config option filer_max_purge_ops (which can be modified on the fly too) and might lead to some serious consequences.

Consequence: ops_in_flight (part of PurgeQueue, and of data type uint64) depends on config option filer_max_purge_ops, if it's value is set to more than what uint64 can handle then there is will integer overflow and this makes ops_in_flight far more greater than max_purge_ops and it can't go back to a reasonable value.

Fix: filer_max_purge_ops is indeed used in Filer::_do_purge_range(), so it's okay to ignore it's use here.

Result: no more integer overflow thus no more overflowed value of ops_in_flight.
.Integer overflow and `ops_in_flight` value overflow no longer happens

Previously, `_calculate_ops` would rely on a configuration option `filer_max_purge_ops`, which could be modified on the fly too. Due to this, if the value of `ops_in_flight` is set to more than `uint64`’s capability, then there would be an integer overflow, and this would make `ops_in_flight` far more greater than `max_purge_ops` and it would not be able to go back to a reasonable value.

With this fix, the usage of `filer_max_purge_ops` in `ops_in_flight` is ignored, since it is already used in `Filer::_do_purge_range()`. Integer overflow and `ops_in_flight` value overflow no longer happens.
Akash Raj 2023-05-19 11:54:20 UTC Blocks 2192813
errata-xmlrpc 2023-06-15 09:08:20 UTC Status VERIFIED RELEASE_PENDING
errata-xmlrpc 2023-06-15 09:16:27 UTC Status RELEASE_PENDING CLOSED
Resolution --- ERRATA
Last Closed 2023-06-15 09:16:27 UTC
errata-xmlrpc 2023-06-15 09:17:40 UTC Link ID Red Hat Product Errata RHSA-2023:3623

Back to bug 2159307