apple / apple/foundationdb

Make fdbserver compatible with rr

Open
#1,478 0 comments 2 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.