apple / apple/foundationdb

Create IClusterConnectionRecord factory with URL-like input and use it in user-facing places

Open
#5,749 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

Follow-on to #5745

Anywhere a user can specifiy a cluster file or seed cluster file, such as the environment or a command line argument, should be handled by a factory function that takes a string and instantiates the correct type of IClusterConnectionRecord.

A URL-like scheme would make it possible to easily support the current behavior for backward compatibility but as well as new implementations of the class, for example

```
# path to a file, current behavior, now ClusterConnectionFile

# explicit version of current behavior
file://

# interface for ClusterConnectionMemoryRecord
memory://

# interface for ClusterConnectionKey
fdbkey://

# Future ideas
https://
s3://
azure://
```

Contributor guide

Open the contributing guide

Research direction

No files, tests, or entry points are named. Trace where users provide cluster files or seed cluster files through environment settings and command-line arguments, then determine how those inputs currently become IClusterConnectionRecord instances. Done means a string factory supports the stated path, file://, memory://, and fdbkey:// forms and is used in those user-facing places.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
databases, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.