Move Cluster-file to Data Directory
- 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
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