Renxuan Wang
3e761aef3b
Add resetConnectionString() function to ClusterConnectionString.
2022-02-24 23:02:29 -08:00
A.J. Beamon
250a88e682
Enforce that trace event suppression calls happen first when using trace event call chaining. Fix various instances where we weren't following this requirement.
2022-02-24 12:25:52 -08:00
Renxuan Wang
3c1394578b
Address comments.
2022-02-22 16:29:59 -08:00
Renxuan Wang
622d89b552
Rebase on main.
...
Since we changed ClusterConnectionString's status flag from boolean to enum in #6422 , we need to update this PR correspondingly.
2022-02-22 16:29:59 -08:00
Renxuan Wang
8eb7a10404
Address comments.
2022-02-22 16:29:59 -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
9f70e84a7b
Remove trimFromHostname().
2021-12-07 15:39:51 -08:00
Renxuan Wang
85dff214a4
Address comments.
2021-11-04 11:42:28 -07:00
Renxuan Wang
f15ceb5489
Add Hostname struct, and fromHostname in NetworkAddress struct.
2021-11-04 11:42:28 -07:00
Renxuan Wang
f503ba6a7c
Move getConnectionString() to IClusterConnectionRecord.
...
ClusterConnectionString was moved to IClusterConnectionRecord in PR #5853 .
2021-10-27 12:59:52 -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
Renxuan Wang
96fcde45c2
Minor leader election code improvements.
...
1. Rename monitorLeaderRemotely* functions to monitorLeaderWithDelayedCandidacy*. "Remote" is not clearly describing what the functions are doing;
2. Rename monitorLeaderForProxies() to monitorLeaderAndGetClientInfo() to better describe the function;
3. Remove monitorLeaderRemotelyInternal() and monitorLeaderRemotely() in MonitorLeader.actor.cpp, to eliminate code duplication. They already exist in worker.actor.cpp;
4. Move the declaration of getLeader() from LeaderElection.actor.cpp to MonitorLeader.h;
5. Update a few comments.
2021-09-16 15:34:45 -07:00
FDB Formatster
69508b980f
modify comments to make clang-format and coverage tool play nice
2021-08-27 17:18:00 -07:00
sfc-gh-tclinkenbeard
3c1cabf041
Coordinator lets client know if it cannot communicate with cluster controller
2021-07-13 17:26:28 -07:00
sfc-gh-tclinkenbeard
9379bab04e
Move trim to anonymous namespace
2021-07-13 14:28:46 -07:00
sfc-gh-tclinkenbeard
371a38e6e5
Merge remote-tracking branch 'origin/master' into remove-extra-copies
2021-06-07 10:26:06 -07:00
Dan Lambright
64c10d3625
fix joshua failures, formatting
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
sfc-gh-tclinkenbeard
f28ac955c3
Remove unnecessary temporary objects while growing objects of type std::vector<std::pair<A, B>>
2021-05-10 16:32:50 -07:00
Renxuan Wang
652c5c4e84
Merge pull request #4668 from RenxuanW/worker
...
Improve logging on worker joining cluster
2021-04-30 10:24:02 -07: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
RenxuanW
0145eea684
Make `MonitorLeaderForwarding` and `LeaderForwarding` trackLatest events.
2021-04-27 15:17:20 -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
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
FDB Formatster
df90cc89de
apply clang-format to *.c, *.cpp, *.h, *.hpp files
2021-03-10 10:18:07 -08:00
Andrew Noyes
79cec09255
Apply clang-tidy's performance-inefficient-vector-operation fix
...
I ran this command in my build directory after compiling with
OPEN_FOR_IDE. It took a few small tweaks to get it to compile, which is
outside the scope of this commit.
$ python run-clang-tidy.py -j $(nproc) -checks='-*,performance-inefficient-vector-operation' -fix
2021-03-04 03:58:25 +00:00
Richard Chen
c77d9e4abe
merge conflicts
2020-12-02 21:53:19 +00:00
sfc-gh-tclinkenbeard
4669f837fa
Add uses of makeReference
2020-11-07 22:10:18 -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
Young Liu
bfa4eb9ab2
Resolve comments
2020-07-30 14:45:03 -07:00
Young Liu
302cf5c45f
Remove debug trace events
2020-07-22 12:20:22 -07:00
Young Liu
5b06d69d25
Pass watches test
2020-07-15 00:37:41 -07:00
Evan Tschannen
048201717c
Fixed a number of problems with monitorLeaderRemotely
2020-05-10 14:20:50 -07:00
Alex Miller
5f51d97444
Remove unneeded module violation.
2020-05-07 15:40:22 -07:00
Alex Miller
38fa218a00
Remove unneeded duplicated code.
2020-05-05 01:02:01 -07:00
Alex Miller
1117eae2b5
Rework to make ElectionResult code similar to OpenDatabase code.
...
And also restore and fix the delayed cluster controller code.
2020-05-05 01:00:17 -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
303df197cf
Merge branch 'release-6.2'
...
# Conflicts:
# CMakeLists.txt
# bindings/c/test/mako/mako.c
# documentation/sphinx/source/release-notes.rst
# fdbbackup/backup.actor.cpp
# fdbclient/NativeAPI.actor.cpp
# fdbclient/NativeAPI.actor.h
# fdbserver/DataDistributionQueue.actor.cpp
# fdbserver/Knobs.cpp
# fdbserver/Knobs.h
# fdbserver/LogRouter.actor.cpp
# fdbserver/SkipList.cpp
# fdbserver/fdbserver.actor.cpp
# flow/CMakeLists.txt
# flow/Knobs.cpp
# flow/Knobs.h
# flow/flow.vcxproj
# flow/flow.vcxproj.filters
# versions.target
2020-03-06 18:22:46 -08:00
Evan Tschannen
c11c24b79d
removed the fdbrpc version of platform.h
2020-02-28 14:56:10 -08:00
A.J. Beamon
d1e1fea42d
Our binaries that act like clients (fdbcli, backup and DR binaries) were reporting an unknown client version. Clients did not react if the list of supported versions changed.
2020-02-28 09:35:21 -08:00