2024-11-24T12:45:16.810Z | <Ronen Friedman> Don't have any prior knowledge, but looking at the code:
(assuming MQ, and that osd_mclock_override_recovery_settings is 'false'):
Seems like during operation, changes to this parameter are ignored (for both roles).
During bootup - the configuration value seems to take take effect for both local & remote
(but I may be missing some hidden detail). |
2024-11-24T12:49:07.197Z | <Ronen Friedman> @Matan Breizman? do you know? the guys over in Reddit claim they see that parameter only affecting Primaries, but that's not what I see in the code. |
2024-11-24T14:57:09.702Z | <Matan Breizman> With mclock enabled, max_backfills will be override _unless_ `osd_mclock_override_recovery_settings` is true (which is set by the reporter).
@Ronen Friedman, for both of the options, changes are tracked via `OSD::handle_conf_change` / `maybe_override_options_for_qos`.
I don't think that the issue here is that osd_max_backfills isn't applying to replicas. This option is set _per_ OSD (i.e per OSDService reserver) and is working they way it's expected to AFAIK.
Meaning, we only limit the number of backfills per OSD.
Since the reporter also mentioned that he tried to set mclock's `high_client_ops` and the limit was not enough, perhaps custom profile will work here.
See: `osd_mclock_scheduler_background_recovery_lim`
We could probably also introduce a more sophisticated `osd_max_backfills` but I think mclock is a better candidate here. |
2024-11-24T17:48:36.924Z | <Igor Golikov> Hi, I am hitting build error when running `./run-make-check.sh` on my build machine.
`FAILED: src/tools/CMakeFiles/neorados.dir/neorados.cc.o`
...
`[neorados.cc:229:1](http://neorados.cc:229:1): error: 'static void boost::asio::detail::awaitable_frame_base<Executor>::operator delete(void*, std::size_t) [with Executor = boost::asio::any_io_executor]' called on pointer returned from a mismatched allocation function [-Werror=mismatched-new-delete]` |
2024-11-24T17:48:47.657Z | <Igor Golikov> Any thoughts? |