Synchronous read of cluster files causes slow tasks
- Dominant language
- C++
- Stars
- 16.7k
- Forks
- 1.6k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 126
Description
Processes in the cluster (server and client, I believe) read their cluster file at regular intervals of something like 5 or 10 minutes. Reading the cluster file is done synchronously using a call to [`readFileBytes`](https://github.com/apple/foundationdb/blob/e6d9ebd3d2c05509dc970768956c9c01d7a1c1e0/flow/Platform.actor.cpp#L2656). This call can sometimes take non-trivial amounts of time (100s of milliseconds), and the result is a slow task and increased latencies.
Contributor guide
Research direction
Start at flow/Platform.actor.cpp around the linked readFileBytes call, then trace the periodic cluster-file reads used by the server and client. Determine how the synchronous read creates slow tasks and increased latency; done means the cluster file can still be read at its regular intervals without blocking those tasks.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- databases, distributed-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 38/100