apple / apple/foundationdb

Move Cluster-file to Data Directory

Open
#4,085 3 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

#3864 points out a problem with the way we currently use cluster-files in FDB. Changing files in `/etc` is not good style. Instead we should write the cluster-file into the data directory. The way this can be implemented is as follows:

1. By default, look for the cluster file in `${DATA_DIR}/fdb.cluster` (in `fdbserver` - for the client we should probably remove `/etc/foundation/fdb.cluster` from the search list and only look in the current working dir or let the user configure it through an option).
1. Set the default value of `--seed_cluster_file` to `/etc/foundation/fdb.cluster`

Alternatively we could also use something like `/var/lib/foundationdb` for the cluster file path. However, having a global cluster file is probably not a good idea (one could in theory run multiple processes on a machine that participate in different clusters - also the data directory is the only directory we know FDB will have write access to).

Contributor guide

Open the contributing guide

Research direction

Start in the fdbserver cluster-file lookup and the client’s cluster-file search and configuration handling. Trace the default paths and the --seed_cluster_file option, then verify that fdbserver uses ${DATA_DIR}/fdb.cluster and that client lookup no longer depends on /etc/foundation/fdb.cluster; resolve the alternative path choice before implementation.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
databases, distributed-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.