Commit Graph

72 Commits

Author SHA1 Message Date
sfc-gh-tclinkenbeard a71099471b Update copyright header dates 2022-03-21 13:36:23 -07:00
Lukas Joswiak 582ba5d519 Fix issue with stuck config nodes
In rare circumstances where the cluster controller dies / moves to a new
machine, sometimes only a minority of `ConfigNode`s received messages
telling them they were registered. When the `ConfigNode`s attempt to
register with the new broadcaster (on the new cluster controller), the
knob system would get stuck because only a minority would be registered.
Part of this change allows registration of unregistered `ConfigNode`s if
there is no path to a majority of registered nodes.
2022-03-15 11:42:58 -07:00
Lukas Joswiak a8828db58e Load balance dynamic knob requests
This commit also removes an attempt to read the latest configuration
snapshot when a rollforward timeout occurs. The normal retry loop will
eventually fetch an up to date snapshot and the rollforward will be
retried.
2022-02-22 10:53:48 -08:00
Lukas Joswiak f300cec6ed Fast-track ConfigNode registration with Simple DB
When using the `ConfigDBType::Simple` configuration database, allow
nodes to immediately register with the broadcaster without having to
wait for a quorum.
2022-02-09 14:18:48 -08:00
Lukas Joswiak b5a3312a26 Factor out known replica update step 2022-02-09 13:43:33 -08:00
Lukas Joswiak 1d15aa5580 Fix internal function name 2022-02-09 13:43:32 -08:00
Lukas Joswiak d5a562e6b8 Fix dynamic knobs correctness issues 2022-02-09 13:43:32 -08:00
Lukas Joswiak 7e6bc27863 Remove linear time loop 2021-08-23 14:02:41 -07:00
Lukas Joswiak 08892eab55 Move client failure cleanup 2021-08-23 12:54:03 -07:00
Lukas Joswiak adc1025fa1 Clean up clientFailures periodically 2021-08-23 12:45:42 -07:00
Lukas Joswiak d004703cc8 Add worker kill unit test 2021-08-23 12:45:42 -07:00
sfc-gh-tclinkenbeard b6c669be23 Send ConfigBroadcastSnapshotReply to broadcaster 2021-08-19 14:45:30 -07:00
sfc-gh-tclinkenbeard 62303af832 Remove invalid assertion from ConfigBroadcastSnapshotRequest handling 2021-08-18 13:24:00 -07:00
sfc-gh-tclinkenbeard 0bacc310ef Reenable consumer in config broadcaster 2021-08-17 12:09:12 -07:00
sfc-gh-tclinkenbeard 616a01d01d Only register each worker once with config broadcaster (consumer currently disabled) 2021-08-17 11:45:50 -07:00
sfc-gh-tclinkenbeard 3418c20867 Merge remote-tracking branch 'origin/master' into paxos-config-db 2021-08-16 10:49:47 -07:00
Lukas Joswiak 1faec36bc6 Wait for all snapshot replies before sending incremental changes 2021-08-11 11:17:51 -07:00
Lukas Joswiak c098a1128d Push snapshot changes to local configuration on refresh 2021-08-11 09:13:22 -07:00
Lukas Joswiak b112560c94 Reorder registerWorker to prevent potential conflict 2021-08-10 15:09:35 -07:00
Lukas Joswiak f018af6ee4
Update fdbserver/ConfigBroadcaster.actor.cpp
Co-authored-by: Trevor Clinkenbeard <trevor.clinkenbeard@snowflake.com>
2021-08-10 13:24:41 -07:00
Lukas Joswiak d27c9e2520 Revert error check 2021-08-10 12:41:41 -07:00
Lukas Joswiak a838a47b0b Use ActorCollection for consumer future 2021-08-10 12:27:19 -07:00
Lukas Joswiak 598b23f8d4 Merge branch 'features/broadcaster-push' of github.com:sfc-gh-ljoswiak/foundationdb into features/broadcaster-push 2021-08-10 12:08:16 -07:00
Lukas Joswiak 5dfd7c4b1a Remove redundant dead worker check 2021-08-10 11:56:58 -07:00
Lukas Joswiak cf81b0650d Only register consumer once on the broadcaster 2021-08-10 11:56:16 -07:00
Lukas Joswiak 72e55ef72e Add broadcaster error check to unit tests 2021-08-10 11:39:29 -07:00
Lukas Joswiak 564a3d69b7 Rename config broadcast interface messages 2021-08-10 11:39:29 -07:00
Lukas Joswiak 85fa264a16 Remove move constructor and assignment operator 2021-08-10 11:39:29 -07:00
Lukas Joswiak 305a17c811 Improve config broadcaster logic, fix unit tests 2021-08-10 11:39:29 -07:00
Lukas Joswiak 72e63db856 Send ConfigBroadcastInterface to ConfigBroadcaster instead of entire worker interface 2021-08-10 11:39:29 -07:00
Lukas Joswiak 3946cf94ff Push updates to workers (clang-formatted files) 2021-08-10 11:39:29 -07:00
Lukas Joswiak 092ab4302b Push updates to workers 2021-08-10 11:39:29 -07:00
Lukas Joswiak 3a607d9a38
Update fdbserver/ConfigBroadcaster.actor.cpp
Co-authored-by: Trevor Clinkenbeard <trevor.clinkenbeard@snowflake.com>
2021-08-10 09:36:39 -07:00
Lukas Joswiak c97a1b3b4d Remove move constructor and assignment operator 2021-08-09 15:33:01 -07:00
Lukas Joswiak 5249105b04 Improve config broadcaster logic, fix unit tests 2021-08-09 13:20:06 -07:00
sfc-gh-tclinkenbeard 82546853c0 Rename UseConfigDB to ConfigDBType 2021-08-09 10:04:35 -07:00
sfc-gh-tclinkenbeard b15daf1886 Added PImpl class
This class propogates the constness of methods to their pimpl
implementations
2021-08-09 10:04:34 -07:00
Lukas Joswiak fae29dbb1f Send ConfigBroadcastInterface to ConfigBroadcaster instead of entire worker interface 2021-08-06 12:42:07 -07:00
Lukas Joswiak 38d05a2f49 Push updates to workers (clang-formatted files) 2021-08-05 18:57:12 -07:00
Lukas Joswiak 0116d17dbb Push updates to workers 2021-08-05 18:50:11 -07:00
sfc-gh-tclinkenbeard b20e02ca25 Fix more -Wreorder-ctor warnings across several files 2021-07-24 11:43:19 -07:00
sfc-gh-tclinkenbeard 3442ebd3b7 Fix more -Wreorder-ctor warnings across many files 2021-07-24 11:20:51 -07:00
sfc-gh-tclinkenbeard a61bad0ad7 Fix gcc -Wsubobject-linkage warning 2021-06-18 17:12:32 -07:00
sfc-gh-tclinkenbeard 9d62887f35 Addressed review comments 2021-06-16 11:34:20 -07:00
sfc-gh-tclinkenbeard dced72ea1f Addressed review comments 2021-06-14 20:19:05 -07:00
sfc-gh-tclinkenbeard 13ee24f464 Add UseConfigDB class 2021-06-10 20:57:50 -07:00
sfc-gh-tclinkenbeard 669ca0bb14 Add comments to configuration database code 2021-06-10 17:14:37 -07:00
sfc-gh-tclinkenbeard 6fc5bd3480 Remove TestID from stateful configuration database classes, and fix some bugs 2021-06-07 00:29:36 -07:00
sfc-gh-tclinkenbeard 39e43801aa Add ConfigBroadcastFollowerGetChangesReply class 2021-06-06 08:52:07 -07:00
sfc-gh-tclinkenbeard 03be6ce8da Remove KnobValueRef::Clear class 2021-06-02 21:36:34 -07:00