apple / apple/foundationdb

Synchronous read of cluster files causes slow tasks

Open
#4,306 0 comments 0 reactions 0 assignees View on GitHub
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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.