Suraj Gupta
6b4eb06201
Rename function to be more clear.
2021-09-20 14:26:42 -05:00
Suraj Gupta
fe098b3b11
Refactor logic for recruiting singletons.
...
This commit refactors the logic for recruiting singletons,
which is done by the ClusterController. This allows for far
easier additions of new singletons in the future, and also
cleans up the code.
Also, the logic for recruiting DD was changed to mirror
the logic for recruiting RK. Although the logic for RK
allows there to be many RKs existing at once, the moveKeysLock
mechanism used by DD still prevents multiple DDs existing at once.
2021-09-20 14:26:42 -05:00
Xiaoge Su
abf73047ca
Enforce std:: specifier rather than using namespace
2021-09-16 19:40:28 -07:00
Zhe Wu
51920ffa16
RecruitFromConfigurationRetry should wait for goodRecruitmentTime to be ready
2021-09-02 09:32:08 -07:00
Zhe Wu
6e4f74c9b3
Remove checkRegions in shouldTriggerRecoveryDueToDegradedServers
2021-08-30 13:03:14 -07:00
FDB Formatster
2c788c233d
apply clang-format to *.c, *.cpp, *.h, *.hpp files
2021-08-27 17:07:47 -07:00
Zhe Wang
7f595f4925
add_trace_event_for_role_recruitment_by_CC
2021-08-23 20:23:55 -05:00
Zhe Wu
a8655e5f4e
Allow CC health monitor to handle cancellation
2021-08-19 16:32:18 -07:00
yao-xiao-github
0afb63c13f
Update fdbserver/ClusterController.actor.cpp
...
Co-authored-by: A.J. Beamon <aj.beamon@snowflake.com>
2021-08-18 15:29:13 -07:00
Yao Xiao
7f0a09d1e2
Enable debugTransaction before getReadVersion.
2021-08-18 15:22:58 -07:00
Yao Xiao
4b8dadfdfb
Use Time instead of Timestamp.
2021-08-18 11:53:52 -07:00
Yao Xiao
977f8f494e
Add version and timestamp to TimeKeeperCommit event.
2021-08-18 01:27:38 -07:00
Jingyu Zhou
bccb09f9dd
Merge pull request #5387 from sfc-gh-tclinkenbeard/improve-worker-const-correctness
...
Add const qualifiers to several parameters in `worker.actor.cpp`
2021-08-16 13:32:07 -07:00
sfc-gh-tclinkenbeard
3418c20867
Merge remote-tracking branch 'origin/master' into paxos-config-db
2021-08-16 10:49:47 -07:00
sfc-gh-tclinkenbeard
ceb83f7f5e
Make ccInterface a const reference in workerServer
2021-08-14 23:41:39 -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
sfc-gh-tclinkenbeard
82546853c0
Rename UseConfigDB to ConfigDBType
2021-08-09 10:04:35 -07:00
sfc-gh-tclinkenbeard
c74047c665
Merge remote-tracking branch 'origin/master' into fix-more-clang-warnings
2021-07-28 11:51:02 -07:00
A.J. Beamon
9f571255bd
Merge pull request #5271 from sfc-gh-ajbeamon/do-not-reset-committed-transaction
...
Do not partially reset a transaction when it is committed or fails to commit with an error
2021-07-28 09:02:54 -07:00
Steve Atherton
507c1f11e3
Add .log() to bare TraceEvent() invocations without any .detail()s to avoid clang-tidy warning about immediate destruction of object without use.
2021-07-26 19:55:10 -07:00
A.J. Beamon
febc26a1ea
Fix some cases where we were reusing a committed transaction without resetting it.
2021-07-26 11:43:07 -07:00
Zhe Wu
e39cfd48c3
Ignore goodRecruitmentTime and populate default PEER_LATENCY_CHECK_MIN_POPULATION
2021-07-26 10:24:26 -07:00
sfc-gh-tclinkenbeard
3442ebd3b7
Fix more -Wreorder-ctor warnings across many files
2021-07-24 11:20:51 -07:00
Steve Atherton
f596a81073
Rename ::TRUE and ::FALSE in BooleanParams to ::True and ::False so as to not conflict with the TRUE and FALSE macros provided by the Windows and MacOS SDKs.
2021-07-17 00:11:40 -07:00
Markus Pilman
3169f8d25b
Merge pull request #5104 from sfc-gh-ljoswiak/fixes/remote-satellite-determinism
...
Disable recruitment determinism check for configurations with remote satellites
2021-07-13 10:57:38 -06:00
Xiaoxi Wang
f8a21f4f6c
fix invalid trace detail name
2021-07-12 17:44:26 +00:00
Zhe Wu
8773cb1a42
Merge pull request #5088 from halfprice/zhewu/cc-health-triggered-recovery
...
Implement the main logic of gray network triggered recovery in Cluster Controller
2021-07-11 20:50:34 -07:00
sfc-gh-tclinkenbeard
79ff07a071
Added *BOOLEAN_PARAM macros to enforce documentation of boolean parameters
2021-07-02 15:04:42 -07:00
Lukas Joswiak
e828a498cd
Pass vector by const reference
2021-07-01 11:01:52 -07:00
Lukas Joswiak
0bd6ac2a8e
Disable recruitment determinism check for configurations with remote satellites
2021-07-01 09:30:46 -07:00
Zhe Wu
5a325aded9
Implement the core logic of gray network triggered recovery in cluster controller
2021-06-30 11:27:05 -07:00
Zhe Wu
865367fb72
Add updateWorkerHealth interface in cluster controller
2021-06-24 19:42:28 -07:00
sfc-gh-tclinkenbeard
41c790b299
Merge remote-tracking branch 'origin/master' into config-db
2021-06-10 22:31:23 -07:00
sfc-gh-tclinkenbeard
13ee24f464
Add UseConfigDB class
2021-06-10 20:57:50 -07:00
Jingyu Zhou
e34df983ee
Merge pull request #4800 from sfc-gh-tclinkenbeard/remove-extra-copies
...
Remove unnecessary temporary objects while growing objects of type std::vector<std::pair<A, B>>
2021-06-07 13:23:50 -07:00
A.J. Beamon
e02ef3b8d8
Merge pull request #4842 from RenxuanW/config
...
Improve logging on the current view of the database configuration that the cluster controller is using.
2021-06-07 11:28:40 -07:00
sfc-gh-tclinkenbeard
371a38e6e5
Merge remote-tracking branch 'origin/master' into remove-extra-copies
2021-06-07 10:26:06 -07:00
sfc-gh-tclinkenbeard
f10dd70c37
Remove configuration_database from status when disabled
2021-06-06 08:51:18 -07:00
Josh Slocum
9b36f69b8d
Merge pull request #4892 from sfc-gh-jslocum/tss_mappingv2
...
TSS Mapping Change
2021-06-04 14:57:51 -07:00
Lukas Joswiak
ba25b95c6a
Fix global config not updating on server processes
2021-06-03 14:27:24 -07:00
Josh Slocum
b3e4f182ef
TSS Mapping Change
2021-06-02 17:30:09 +00:00
sfc-gh-tclinkenbeard
a775f92fca
Merge remote-tracking branch 'origin/master' into config-db
2021-06-01 15:39:34 -07:00
RenxuanW
4f6b983bfb
Address comments.
2021-05-27 12:58:47 -07:00
Josh Slocum
4257ac2b4d
More TSS Changes/Fixes
2021-05-25 20:37:48 +00:00
Josh Slocum
ce82c9653e
Testing Storage Server implementation
2021-05-25 20:28:50 +00:00
RenxuanW
caeceb932e
Improve logging on the current view of the database configuration that the cluster controller is using.
2021-05-24 09:37:57 -07:00
RenxuanW
319e77eef1
Add severity in logWorkerUnavailable(). Also, only log when fitness is GoodFit or BestFit.
2021-05-18 12:57:39 -07:00
sfc-gh-tclinkenbeard
fcc6efd3b1
Add .cluster.configuration status json field
2021-05-18 10:47:16 -07:00
sfc-gh-tclinkenbeard
ea8396c9be
Improve decoupling of configuration database interfaces and implementations
2021-05-17 15:31:03 -07:00
sfc-gh-tclinkenbeard
e8040dc609
Get /fdbserver/ConfigDB/ConfigBroadcaster/Simple unit test passing
2021-05-14 00:41:02 -07:00
RenxuanW
8a15d7d14b
Bring #4518 (Logging more detailed information during Tlog recruitment) back.
2021-05-13 12:20:31 -07:00
sfc-gh-tclinkenbeard
a5749de6b6
Refactor ConfigBroadcaster
2021-05-11 16:57:37 -07:00
Lukas Joswiak
4ea760b2a9
Revert "Merge pull request #4136 from sfc-gh-mpilman/features/actor-lineage"
...
This reverts commit da41534618 , reversing
changes made to e6300905d6 .
2021-05-10 20:26:12 -07: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
Lukas Joswiak
cdf98f987d
Revert "Fix global config not triggering changes on server processes"
2021-05-10 12:18:28 -07:00
Markus Pilman
ccfc48d89a
Merge pull request #4782 from sfc-gh-ljoswiak/fixes/global-config-processes
...
Fix global config not triggering changes on server processes
2021-05-07 21:15:36 -06:00
Neethu Haneesha Bingi
3c94a09baf
Using failedWorkerInfo before its gets erased
2021-05-06 17:04:25 -07:00
Neethu Haneesha Bingi
d975e563cc
Rename of variables in trace event.
2021-05-06 16:48:36 -07:00
Neethu Haneesha Bingi
7a6d7cae96
Added worker network address and process class details to trace log.
2021-05-06 16:48:36 -07:00
Neethu Haneesha Bingi
97cd53d649
Adding TraceEvent when a worker is removed from cluster controller.
2021-05-06 16:48:35 -07:00
Lukas Joswiak
0fc1552683
Fix global config updates not triggering on fdbserver processes
2021-05-06 15:46:34 -07:00
Lukas Joswiak
e7d7b39f12
Merge pull request #4744 from sfc-gh-tclinkenbeard/add-rangeresult-type-alias
...
Create RangeResult type alias
2021-05-03 16:29:33 -07:00
sfc-gh-tclinkenbeard
5c2d7b6080
Create RangeResult type alias
2021-05-03 13:14:16 -07:00
sfc-gh-tclinkenbeard
f9ede75b42
Remove unused variable in ClusterController.actor.cpp
2021-05-03 11:10:43 -07:00
Markus Pilman
54919d4f3b
Merge remote-tracking branch 'sfc/features/actor-lineage' into features/actor-lineage
2021-04-28 09:22:14 -06:00
Evan Tschannen
1f98dec1df
cleaned up default constructed maps
2021-04-26 19:26:25 -07:00
sfc-gh-tclinkenbeard
dc577b6608
Fix some bugs in distribution of configBroadcaster interface
2021-04-26 18:46:22 -07:00
sfc-gh-tclinkenbeard
7211d838cf
Remove broadcastConfigDatabase actor
2021-04-26 15:54:08 -07:00
Evan Tschannen
451609e6be
code cleanup
2021-04-26 10:16:18 -07:00
Evan Tschannen
50bb9b51b4
simulation does recruitment twice and compares the results to ensure recruitment is deterministic
2021-04-26 10:13:59 -07:00
Evan Tschannen
49ca48f82e
fix: tlog recruitment could select more than the desired about of tlogs
...
fix: tlog recruitment did not attempt to avoid longLivedStateless processes
2021-04-26 10:09:44 -07:00
Evan Tschannen
7503964ee9
recruitment tries to avoid degraded processes altogether, rather than just the worst one. Since this is a behavior change from the backup recruitment, we cannot compared degraded between the two recruitments
2021-04-26 10:01:54 -07:00
Evan Tschannen
ccfc77f6fb
changed preferredSharing to be ordered, so that recruitment will always share with the same other role when everything else is equal
2021-04-26 09:57:46 -07:00
sfc-gh-tclinkenbeard
9bed1f7aa5
Run SimpleConfigBroadcaster on cluster controller
2021-04-25 17:20:02 -07:00
Evan Tschannen
b61a911685
removed an ASSERT that was for debugging purposed, and increased the max commit latency, because it can be spuriously triggered by dummy transactions that take 5+ seconds each
2021-04-21 14:30:06 -07:00
Evan Tschannen
e18c9961b4
rewrote tlog recruitment logic so that it is deterministic, to prevent better master exists from triggering spuriously
2021-04-21 00:22:33 -07:00
Lukas Joswiak
c81e1e9519
Add sampling profiler frequency to global config
2021-04-19 22:46:57 -07:00
RenxuanW
4bf7218e8f
Merge pull request #4635 from RenxuanW/priority_logging
...
Log a warning when remote dc is disabled (priority < 0)
2021-04-15 17:00:41 -07:00
Lukas Joswiak
7de23918c0
Add comments, fix erase bug, make optimizations
2021-04-14 10:56:33 -07:00
Lukas Joswiak
c38ddf5eb7
Add comments
2021-04-14 10:56:33 -07:00
Lukas Joswiak
7ba7257cd2
Store global config data on heap
2021-04-14 10:56:33 -07:00
Lukas Joswiak
1c60653c2a
Add fix to conditionally set global config history
2021-04-14 10:56:33 -07:00
Lukas Joswiak
6de28dd916
clang-format
2021-04-14 10:56:33 -07:00
Lukas Joswiak
1260385965
Use object to wrap global configuration history
2021-04-14 10:56:32 -07:00
Lukas Joswiak
fb9a929780
Fix issue with freed memory being accessed
2021-04-14 10:56:32 -07:00
Lukas Joswiak
c3f68831af
Move existing ClientDBInfo variables to global configuration
2021-04-14 10:56:32 -07:00
Lukas Joswiak
7bb0b3d899
Use commit version for global configuration updates
...
FIXME: There is a memory issue where the underlying data for values set
in the `data` field of GlobalConfig will be freed shortly after being
set.
2021-04-14 10:56:32 -07:00
Lukas Joswiak
f1415412f1
Add global configuration framework implementation
2021-04-14 10:56:32 -07:00
Evan Tschannen
bd6db9ca7c
Update fdbserver/ClusterController.actor.cpp
...
Co-authored-by: Markus Pilman <markus.pilman@snowflake.com>
2021-04-13 15:13:45 -07:00
RenxuanW
7be8dab045
Change DcPriorityNegative to CCDcPriorityNegative
2021-04-08 16:00:37 -07:00
RenxuanW
738e7402f7
Log a warning when remote dc is disabled (priority < 0)
2021-04-08 15:36:52 -07:00
RenxuanW
f3d5fa4750
Revert "Log a warning when remote dc's priority doesn't match the original primary."
...
This reverts commit 1d701e8bcf .
2021-04-08 15:19:43 -07:00
RenxuanW
1d701e8bcf
Log a warning when remote dc's priority doesn't match the original primary.
2021-04-08 14:38:37 -07:00
Evan Tschannen
a90c26f1d0
The master, proxies, and resolver all need to have the same machine class fitness function besides best fit to ensure recruitment is deterministic
...
if the first GRV proxy or resolver is forced to share a process, it should prefer to share with the commit proxy so that the commit proxy has more potential options it can share with
2021-04-08 14:29:12 -07:00
Evan Tschannen
5695a1816f
fix: requiredFitness was being set to one higher than the actual requirement
2021-04-07 21:31:14 -07:00
Evan Tschannen
1b1f73ea16
added comments
2021-04-07 20:40:42 -07:00
Evan Tschannen
4d8dd0b0a0
fix: desired must be greater than or equal to required
2021-04-07 20:32:45 -07:00