Make fdbserver compatible with rr
- Dominant language
- C++
- Stars
- 16.7k
- Forks
- 1.6k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 126
Description
It seems [rr](https://rr-project.org/) is incompatible with AIO: https://github.com/mozilla/rr/issues/2324. Passing `--knob_disable_posix_kernel_aio=1` to fdbserver does not seem to help.
I _think_ the problem is that we still call `AsyncFileKAIO::init` and `AsyncFileKAIO::launch` when that knob is passed.
We also have a `WITH_UNDODB` cmake setting that doesn't do anything. We should see if it makes sense to extend knob_disable_posix_kernel_aio to make rr work and remove the `WITH_UNDODB` option, or if that doesn't make sense we could make fdbserver compatible with rr when compiled with `WITH_UNDODB=1`. (rr and undodb are similar tools)
Contributor guide
Research direction
Start with fdbserver's handling of knob_disable_posix_kernel_aio and trace the named AsyncFileKAIO::init and AsyncFileKAIO::launch entry points. Reproduce the failure under rr, then assess whether the knob should cover those calls or whether WITH_UNDODB should be removed or used. Done means fdbserver works with rr under the chosen configuration and the unused CMake option is resolved.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake, cpp
- Domain
- build-system, databases, distributed-systems
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100