58 Commits

Author SHA1 Message Date
sfc-gh-tclinkenbeard
a71099471b Update copyright header dates 2022-03-21 13:36:23 -07:00
Renxuan Wang
70d723f70c Move the construction of ConnectionString in changeQuorumChecker() to coordinatorsCommitActor(). 2022-02-24 23:02:29 -08:00
Renxuan Wang
3e761aef3b Add resetConnectionString() function to ClusterConnectionString. 2022-02-24 23:02:29 -08:00
Renxuan Wang
481587a8c6 Turn on hostname logic. 2022-02-22 16:29:59 -08:00
Renxuan Wang
c29c522d3e Change ClusterConnectionString's status flag from boolean to enum.
So that when multiple threads try to resolve hostnames concurrently, we should have only one resolving and others wait on the result. Otherwise, they would add duplicated resolved results to coordinators.
2022-02-21 10:53:03 -08:00
Renxuan Wang
f9f3735f73 Add resolveHostnamesBlocking() in ConnectionString and IClusterConnectionRecord.
Also, combine IClusterConnectionRecord::getConnectionString() and IClusterConnectionRecord::getMutableConnectionString() to IClusterConnectionRecord::getConnectionString(), and rename setConnectionString() to setAndPersistConnectionString().
2022-01-28 12:20:41 -08:00
Renxuan Wang
8c49391c51 Address comments. 2022-01-20 19:18:15 -08:00
Renxuan Wang
02f72dd377 Address comments. 2022-01-20 19:18:15 -08:00
Renxuan Wang
a6c482ee91 Add the support of using hostname in ConnectionString.
This PR comes without simulation tests except some unit tests. The simulation tests will be in the PR that uses hostname in code logic.
2022-01-20 19:18:15 -08:00
Renxuan Wang
f503ba6a7c Move getConnectionString() to IClusterConnectionRecord.
ClusterConnectionString was moved to IClusterConnectionRecord in PR #5853.
2021-10-27 12:59:52 -07:00
Renxuan Wang
0e094ef727 Move ClusterConnectionString to IClusterConnectionRecord. 2021-10-25 19:39:39 -07:00
A.J. Beamon
9358adcf49 Address some review comments. 2021-10-22 11:05:18 -07:00
A.J. Beamon
e882eb33fc Abstract the cluster file into a cluster connection record that can be backed by something other than the filesystem. 2021-10-22 11:05:18 -07:00
Vaidas Gasiunas
16171d8252 Refactoring well-known endpoint registration
- List all well-known endpoints of FDB in a single enum
- Identify well-known endpoints by plain IDs
2021-09-21 11:05:31 -06:00
Xiaoge Su
abf73047ca Enforce std:: specifier rather than using namespace 2021-09-16 19:40:28 -07:00
sfc-gh-tclinkenbeard
54fb0cbe85 Use full generation in ConfigTransactionInterface 2021-07-18 12:23:34 -07:00
sfc-gh-tclinkenbeard
a775f92fca Merge remote-tracking branch 'origin/master' into config-db 2021-06-01 15:39:34 -07:00
sfc-gh-tclinkenbeard
6665f5cc4d Support and test restricted range reads 2021-05-29 03:58:18 -07:00
Dan Lambright
cc3175fc50 remove forwarding 2021-05-28 11:41:42 -04:00
Dan Lambright
10289ef8f1 Respond to AJs comments 2021-05-27 09:14:32 -04:00
Dan Lambright
53d0ecc2fa respond to comments made on 5/4 2021-05-27 08:08:07 -04:00
Dan Lambright
fc65154b5d forward back new coordinator 2021-05-27 08:08:07 -04:00
Dan Lambright
fcfb78162c misc cleanup for publishing 2021-05-27 08:08:07 -04:00
Dan Lambright
742c22cef2 Don't allow changing desriptor if knob is set 2021-05-27 08:08:07 -04:00
Andrew Noyes
904a39e473
Merge pull request #4667 from sfc-gh-ajbeamon/feature-mvc-monitor-protocol-version
Use fewer connections in the multi-version client
2021-04-28 14:13:17 -07:00
sfc-gh-tclinkenbeard
d6fa06afdd Add IConfigTransaction::getRange (not yet tested) 2021-04-23 11:39:26 -07:00
Andrew Noyes
8a00c6cdf8 Add -Wshift-sign-overflow
This catches the bug fixed in #4656 at compile time
2021-04-21 23:49:26 +00:00
sfc-gh-tclinkenbeard
f54f082159 Build interfaces for full config update pipeline 2021-04-16 17:58:00 -07:00
A.J. Beamon
b2d6930103 The multi-version client monitors the cluster's protocol version and only activates the client library that can connect. 2021-04-15 11:45:14 -07:00
sfc-gh-tclinkenbeard
18f17a4ea2 First draft of config-db 2021-04-14 22:06:37 -07:00
FDB Formatster
df90cc89de apply clang-format to *.c, *.cpp, *.h, *.hpp files 2021-03-10 10:18:07 -08:00
Richard Chen
76d0027fa2 merge anoyes/stable-interface and add back in isCompatible 2020-10-12 18:18:30 +00:00
Young Liu
35bef73a1c Rename proxy to commit proxy 2020-09-10 17:44:15 -07:00
Andrew Noyes
f470ba8316 Remove using namespace std::rel_ops
This causes the following to not compile anymore

\#include <utility>
\#include <vector>

using namespace std::rel_ops;

int main() {
    std::vector<int> xs;
    return xs.rbegin() != xs.rend();
}

See https://godbolt.org/z/s1977n
2020-07-10 22:58:15 +00:00
Evan Tschannen
048201717c Fixed a number of problems with monitorLeaderRemotely 2020-05-10 14:20:50 -07:00
Alex Miller
43a63452d8 YOLO at reducing TLS connection count via doing monitorLeader on coordinators 2020-05-01 14:40:21 -07:00
Evan Tschannen
9b4f7626bb cache the serialization of clientDBInfo 2019-09-11 15:19:42 -07:00
Evan Tschannen
ee92f0574f fix: lastRequestTime was not updated
fix: COORDINATOR_REGISTER_INTERVAL was not set
fixed review comments
2019-07-26 13:23:56 -07:00
Evan Tschannen
be5d144b8b added status information on connected clients 2019-07-25 17:15:31 -07:00
Evan Tschannen
4a866290b7 Clients keep a persistent connection open with coordinators to get updates to the list of proxies
Status still needs to be updated with client information with information from the coordinators
2019-07-23 19:22:44 -07:00
mpilman
6afce01744 Implementation complete (not yet working) 2019-05-13 14:15:22 -07:00
Evan Tschannen
1fc6937802 changed NetworkAddressList to at most two addresses for performance 2019-03-23 17:54:46 -07:00
Evan Tschannen
1d7fec3074 Merge commit '048bfc5c368063d9e009513078dab88be0cbd5b0' into task/tls-upgrade-2
# Conflicts:
#	.gitignore
2019-01-24 17:43:06 -08:00
anoyes
6a4d87802b Replace & operator with variadic function 2018-12-28 11:33:42 -08:00
Vishesh Yadav
42dffd4dff Take a vector of network addresses from CLI to start FDB server
Extends the CLI interface to take multiple public and listen addresses.
We however do not do anything with those extra addresses and just
consider the first one for now.
2018-12-13 13:36:52 -08:00
Evan Tschannen
a654183f63
Merge pull request #791 from ajbeamon/remove-cluster-from-iclientapi
Remove cluster from IClientApi (phase 2 of removing DB names)
2018-11-10 10:16:18 -08:00
Robert Escriva
268093a96d Adjust all includes to be relative to the root.
Remove the use of relative paths.  A header at foo/bar.h could be included by
files under foo/ with "bar.h", but would be included everywhere else as
"foo/bar.h".  Adjust so that every include references such a header with the
latter form.

Signed-off-by: Robert Escriva <rescriva@dropbox.com>
2018-10-19 17:35:33 +00:00
A.J. Beamon
c831051474 This removes the idea of clusters from IClientApi. 2018-09-21 15:58:14 -07:00
Evan Tschannen
f52d841e8a we need to send notifications when the leader fitness becomes worse so that we repopulate availableCandidates to compare with the new lower fitness 2018-08-13 20:56:02 -07:00
Evan Tschannen
8fc8aa0493 fix: we must notify every time nextNominee is not present to continue to repopulate availableCandidates 2018-08-13 17:59:47 -07:00