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