Fix shared runner minutes reset on self-managed
What does this MR do?
When namespace count is lower than 100,000, the :ci_parallel_minutes_reset feature fails with a zero division error due to integer division
This affects most self-managed instances but not GitLab.com which has well over 100,000 namespaces
The fix here is done by using float division to avoid the chance of a ZeroDivisionError in such edge cases
Closes: #330068 (closed)
Screenshots (strongly suggested)
{ …
"error_message":"divided by 0",
"error_class":"ZeroDivisionError",
"error_backtrace": [
"ee/app/workers/clear_shared_runners_minutes_worker.rb:21:in `perform'",
…
]
…
}
Does this MR meet the acceptance criteria?
Conformity
-
I have included a changelog entry, or it's not needed. (Does this MR need a changelog?) -
I have added/updated documentation, or it's not needed. (Is documentation required?) -
I have properly separated EE content from FOSS, or this MR is FOSS only. (Where should EE code go?) -
I have added information for database reviewers in the MR description, or it's not needed. (Does this MR have database related changes?) -
I have self-reviewed this MR per code review guidelines. -
This MR does not harm performance, or I have asked a reviewer to help assess the performance impact. (Merge request performance guidelines) -
I have followed the style guides.
Availability and Testing
-
I have added/updated tests following the Testing Guide, or it's not needed. (Consider all test levels. See the Test Planning Process.) -
I have tested this MR in all supported browsers, or it's not needed. -
I have informed the Infrastructure department of a default or new setting change per definition of done, or it's not needed.