Dan Lambright
065c4fdd5a
issue 4252
2021-05-27 08:08:07 -04:00
sfc-gh-tclinkenbeard
739d8813dd
Create configuration database node files on demand
2021-05-23 18:01:50 -07:00
sfc-gh-tclinkenbeard
748a3ebfbe
Add GetSnapshotAndChangesRequest type
2021-05-18 15:28:44 -07:00
sfc-gh-tclinkenbeard
a3726898bb
Support disabling configuration database node servers
2021-05-17 20:58:09 -07:00
sfc-gh-tclinkenbeard
641882ef0b
Add dummy PaxosConfixDatabaseNode implementation
2021-05-17 14:15:30 -07:00
sfc-gh-tclinkenbeard
5c3b293fce
Fix some SimpleConfigTransaction bugs
2021-05-15 12:41:16 -07:00
sfc-gh-tclinkenbeard
5c2d7b6080
Create RangeResult type alias
2021-05-03 13:14:16 -07:00
sfc-gh-tclinkenbeard
9bed1f7aa5
Run SimpleConfigBroadcaster on cluster controller
2021-04-25 17:20:02 -07:00
sfc-gh-tclinkenbeard
53697c316c
Expand ConfigurationDatabaseWorkload to support running multiple clients, broadcasters, and consumers
2021-04-22 13:54:58 -07:00
sfc-gh-tclinkenbeard
f54f082159
Build interfaces for full config update pipeline
2021-04-16 17:58:00 -07:00
sfc-gh-tclinkenbeard
ca3b7f5ef1
Implemented simple ConfigurationDatabase workload, run simple configuration database node on coordinators
2021-04-15 12:44:45 -07:00
sfc-gh-tclinkenbeard
18f17a4ea2
First draft of config-db
2021-04-14 22:06:37 -07:00
Evan Tschannen
d612dbbbe2
Update fdbserver/Coordination.actor.cpp
...
Co-authored-by: Jingyu Zhou <jingyuzhou@gmail.com>
2021-04-01 10:05:49 -07:00
Evan Tschannen
8be216b5c9
fix: storage servers would not attempt to become a cluster controller even when they were the only process in a region because they were not notified that the existing cluster controller was in the remote region
2021-03-31 14:24:44 -07:00
FDB Formatster
df90cc89de
apply clang-format to *.c, *.cpp, *.h, *.hpp files
2021-03-10 10:18:07 -08: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
bbf5bdf6da
fix stable interfaces test and corresponding changes in simulator
2020-10-12 18:25:12 +00:00
Richard Chen
5488ff1d81
draft diff protocol
2020-10-12 18:24:03 +00:00
Richard Chen
41843f07e6
add simulator support for different process versions and ProtocolVersion test
2020-10-12 18:19:31 +00:00
Richard Chen
76d0027fa2
merge anoyes/stable-interface and add back in isCompatible
2020-10-12 18:18:30 +00:00
sfc-gh-tclinkenbeard
0814841827
Replace NULL with nullptr in fdbserver
2020-09-20 11:31:49 -07:00
A.J. Beamon
3c397fe281
When responding to OpenDatabaseCoordRequest and ElectionResultRequest immediately, don't start monitorLeaderForProxies, which will keep a process alive as a coordinator.
2020-06-04 15:48:06 -07:00
Evan Tschannen
72ce997d22
explicitly versioned every key in systemData, so we only will update the associated protocolVersion when the serialization actually changes
2020-05-22 16:35:01 -07:00
Markus Pilman
c2bc75516f
Merge branch 'release-6.3' of github.com:apple/foundationdb into features/trace-roles
2020-05-14 10:34:53 -07:00
Evan Tschannen
048201717c
Fixed a number of problems with monitorLeaderRemotely
2020-05-10 14:20:50 -07:00
Markus Pilman
5f9b127e56
Emit traces regularly about role assignment
...
We are currently emitting Role transition traces when a role starts and
when it ends. While this is useful for debugging, it doesn't work well
with tools that inject data and might potentially miss some trace lines.
We do decorate each trace lines with the roles assigned to that
particular process, however, this is not sufficient for tools that can
make use of the UID -> Role mapping
2020-05-08 16:27:57 -07:00
Alex Miller
383099aef3
Bug fixes to get it actually doing the right thing:
...
* Intialize electionResult when constructing with NetworkAddress.
* Return after sending a reply.
* Reset the reply promise on each new request.
2020-05-08 01:00:18 -07:00
Alex Miller
8a6e177950
Merge remote-tracking branch 'upstream/master' into tls-connection-count
2020-05-05 16:49:36 -07:00
Alex Miller
53b70e6529
Fix addWellKnownEndpoint order bug.
2020-05-05 03:21:36 -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
A.J. Beamon
197f866824
Don't include internal tools such as fdbcli, backup, and DR in the status client list.
2020-03-23 14:44:04 -07:00
A.J. Beamon
df2b0452b4
Step 3 of fixing storage server range reads: change return type of readRange from VectorRef<KeyValueRef> to RangeResultRef.
2020-02-06 13:19:24 -08:00
Evan Tschannen
a62862c105
add yieldedFutures to prevent slow tasks
2019-09-11 16:26:48 -07:00
Evan Tschannen
9b4f7626bb
cache the serialization of clientDBInfo
2019-09-11 15:19:42 -07:00
Andrew Noyes
6aa0ada7b1
Replace scalar root types with proper messages
2019-08-28 14:40:50 -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
8b73a1c998
removed verbose trace messages
2019-07-24 15:07:41 -07:00
Evan Tschannen
2434d06726
fix: The coordinators did not properly track hasConnectedClients
2019-07-24 14:41:12 -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
Alex Miller
ea6898144d
Merge remote-tracking branch 'upstream/master' into flowlock-api
2019-07-03 20:44:15 -07:00
A.J. Beamon
8c10d832a1
Add coordinator role in trace events
2019-07-03 11:09:36 -07:00
Alex Miller
bf883d7055
Merge remote-tracking branch 'upstream/master' into flowlock-api
2019-06-25 14:26:50 -07:00
Alex Miller
7a500cd37f
A giant translation of TaskFooPriority -> TaskPriority::Foo
...
This is so that APIs that take priorities don't take ints, which are
common and easy to accidentally pass the wrong thing.
2019-06-25 02:47:35 -07:00
Jingyu Zhou
357c9ba0fb
Refactor code
2019-06-19 20:41:53 -07:00
Evan Tschannen
29b96414e2
Merge branch 'release-6.1'
...
# Conflicts:
# documentation/sphinx/source/release-notes.rst
# fdbclient/NativeAPI.actor.cpp
# fdbserver/Coordination.actor.cpp
# flow/Arena.h
# versions.target
2019-06-03 18:49:35 -07:00
Evan Tschannen
b830fa4c84
fix: A minority of coordinators could continue choosing a candidate which was not the leader
2019-05-30 17:25:20 -07:00
A.J. Beamon
5f55f3f613
Replace g_random and g_nondeterministic_random with functions deterministicRandom() and nondeterministicRandom() that return thread_local random number generators. Delete g_debug_random and trace_random. Allow only deterministicRandom() to be seeded, and require it to be seeded from each thread on which it is used.
2019-05-10 14:01:52 -07:00
mpilman
1c16f87a4e
Remove trace-calls to printable (in non-workloads)
2019-04-05 13:12:19 -07:00
Jingyu Zhou
38c6681349
Fix some signed and unsigned mismatch warnings.
2019-03-26 14:54:11 -07:00
A.J. Beamon
85b3f11e71
Fix various compiler warnings
2019-03-15 10:34:57 -07:00
mpilman
3a0f9839b9
Fix minor IDE build errors
2019-02-19 15:16:59 -08: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
3eb9b23024
Listen to multiple addresses and start using vector<NetworkAdddress> in Endpoint
...
- This patch will make FDB listen to multiple addresses given via
command line. Although, we'll still use first address in most places,
this patch starts using vector<NetworkAddress> in Endpoint at some basic
places.
- When sending packets to an endpoint, pick a random network address in
endpoints
- Renames Endpoint::address to Endpoint::addresses since it
now holds a vector of addresses.
2018-12-13 13:36:52 -08:00
Vishesh Yadav
43e5a46f9b
Change Endpoint::address(NetworkAddress) to vector<NetworkAddress>
...
Extend `Endpoint` class to take multiple NetworkAddresses instead of
just one. Hence, to talk to an endpoint instead of one IP:PORT, we'll
have multiple IP:PORT pairs.
This patch simply adds the field and makes changes to compile the
codebase. The first element of of `address` field is used everywhere.
Hence the way we talk to remains same with this patch.
NOTE:
Directly accessing the first memeber of Endpoint::address is unsafe
as Endpoint() doesn't enforces non-empty address list. However, since
the correctness test pass for now and are anyway replacing all those
unsafe accesses with ones considering the whole vector, this patch
ignores to access them in safe way.
2018-12-13 13:36:52 -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
Stephen Atherton
22f8a4efa9
Normalized all unit test names to begin with "/" if they should be included in random unit testing.
2018-10-05 22:09:58 -07:00
Alex Miller
74a9d2f836
Remove a couple more `Void _ = wait`s that crept in from rebase.
2018-08-14 15:50:26 -07:00
Alex Miller
fb31a6999f
Rewrite all files to have #include actorcompiler.h as the last include.
2018-08-14 15:50:26 -07:00
Alex Miller
535b5701e5
Rewrite all `Void _ = wait(...)` -> `wait(...)`.
...
This takes advantage of the new actorcompiler functionality to avoid
having duplicate definitions of `Void _` when trying to feed the
un-actorompiled source through clang.
2018-08-14 15:50:26 -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
Evan Tschannen
aaa90de7d9
merge 5.2 into 6.0
2018-08-13 10:13:03 -07:00
Evan Tschannen
4f9dd10644
fix: as long as some leader was sending heartbeats we would keep the currentNominee as leader, even if that currentNominee was not the one sending the heartbeats
2018-08-10 17:11:24 -07:00
Evan Tschannen
7f7755165c
slowly send notifications to clients to clear the list of dead clients
2018-08-08 17:29:32 -07:00
Evan Tschannen
3bb8dad431
TooManyNotifications is only sevWanAlways if it happens more than once a day. Status continuously adds to notifications currently, so we expect this to trigger every 4-5 days.
2018-08-07 17:00:43 -07:00
Evan Tschannen
ef62c98ef5
Added a trace event related to max_notifications being reached
2018-07-08 20:18:24 -07:00
Evan Tschannen
5a2cb3037b
merge 5.2 into 6.0
2018-07-08 20:14:06 -07:00
Evan Tschannen
cdafd542ee
fix: fixed a memory leak where leaderInfo notifications are not cleared out
2018-07-06 17:40:29 -07:00
A.J. Beamon
e5488419cc
Attempt to normalize trace events:
...
* Detail names now all start with an uppercase character and contain no underscores. Ideally these should be head-first camel case, though that was harder to check.
* Type names have the same rules, except they allow one underscore (to support a usage pattern Context_Type). The first character after the underscore is also uppercase.
* Use seconds instead of milliseconds in details.
Added a check when events are logged in simulation that logs a message to stderr if the first two rules above aren't followed.
This probably doesn't address every instance of the above problems, but all of the events I was able to hit in simulation pass the check.
2018-06-08 11:11:08 -07:00
Alec Grieser
0bae9880f1
remove trailing whitespace from our copyright headers ; fixed formatting of python setup.py
2018-02-21 10:25:11 -08:00
Yichi Chiang
df922bc973
Change excluded cluster controller
2017-11-14 13:57:37 -08:00
Yichi Chiang
12edd27281
Introduce prevChangeID to CandidacyRequest and LeaderHeartbeatRequest
2017-10-12 17:11:58 -07:00
Yichi Chiang
636ce4a131
Replace leader when find a better one
2017-09-29 16:34:55 -07:00
Yichi Chiang
9fe927127f
choose leader on the perferred process class
2017-08-28 14:41:04 -07:00
FDB Dev Team
a674cb4ef4
Initial repository commit
2017-05-25 13:48:44 -07:00