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
Ata E Husain Bohra
936bf5336a
Revert "Revert "Refactor: ClusterController driving cluster-recovery state machine" ( #6191 )
...
* Revert "Revert "Refactor: ClusterController driving cluster-recovery state machine""
Major changes includes:
1. Re-revert Sequencer refactor commits listed below (in listed order):
1.a. This reverts commit bb17e194d9 .
1.b. This reverts commit d174bb2e06 .
1.c. This reverts commit 30b05b469c .
2. Update Status.actor to track ClusterController interface to track
recovery status.
3. Introduce a ServerKnob to define "cluster recovery trace event"
prefix; for now keeping it as "Master", however, it should allow
smooth transition to "Cluster" prefix as it seems more appropriate.
2022-01-06 12:15:51 -08:00
Aaron Molitor
30b05b469c
Revert "Refactor: ClusterController driving cluster-recovery state machine"
...
This reverts commit dfe9d184ff .
2021-12-24 11:25:51 -08:00
Ata E Husain Bohra
dfe9d184ff
Refactor: ClusterController driving cluster-recovery state machine
...
At present, cluster recovery process consists of following steps:
1. ClusterController clusterWatchDatabase actor recruits
master/sequencer process.
2. Sequencer process implements the cluster recovery state machine,
responsible to recruit all other processes as well restore the
cluster state.
Patch proposes a scheme where the cluster recovery state machine
is implemented and driven by the ClusterController process instead
of the Sequencer process.
Advantages of the scheme could be:
1. Simplified design where ClusterController recruits "sequencer"
process like other worker processes compared to current scheme
where "sequencer" process gets special treatment. In newer scheme
sequencer is responsible for maintaining/providing
"committed version" (as expected).
2. ClusterController is responsible for worker processes recruitment,
the sequencer though orchestrating the recovery state machine, it
need to reachout to the ClusterController for recruiting worker
processes etc.
NOTE:
Patch has moved the recovery state machine code from
'sequencer' -> 'cluster-controller' process, however, necessary
updates were done for both functionality as well as performance
improvement reasons.
Next Steps:
Cluster recovery documentation will be updated in near future.
2021-12-22 14:06:27 -08:00
Evan Tschannen
e3819dad7c
fix: If a removed tlog never attempted a queue commit, the update storage loop could get stuck waiting for queueCommittingVersion to advance
2021-11-25 09:55:01 -08:00
Markus Pilman
d6fad2e489
readded old tlog tests
2021-11-08 15:52:08 -07:00
Markus Pilman
7df059570a
Make sure unit tests are run often enough
2021-11-08 15:43:32 -07:00
sfc-gh-tclinkenbeard
9e06b6e6e3
Make IClosable interface const-correct
2021-10-18 13:40:47 -07:00
Xiaoge Su
abf73047ca
Enforce std:: specifier rather than using namespace
2021-09-16 19:40:28 -07:00
Xiaoge Su
067c1cc55b
Extract methods in LogSystem.h to corresponding cpp file
2021-09-12 14:17:19 -07:00
Steve Atherton
deeb6b3404
Merge branch 'master' of https://github.com/apple/foundationdb into durability-bug-repro1
...
# Conflicts:
# fdbserver/TLogServer.actor.cpp
2021-08-24 16:19:16 -07:00
Steve Atherton
ec0e39b40f
Bug fix: Popped versions are exclusive, so after recovery a tag for which there is no longer data should be considered popped up until the version *after* recovery, indicating that data at the recovery version itself has been popped.
2021-08-24 15:16:20 -07:00
Xiaoxi Wang
a97570bd06
solve mis-spelling, trace log and format problems
2021-08-11 18:26:00 -07:00
Xiaoxi Wang
2263626cdc
200k test clean: enable remote Log pull from LogRouter
2021-08-07 09:53:32 -07:00
Xiaoxi Wang
2df0474fec
merge master
2021-08-02 11:58:35 -07:00
Xiaoxi Wang
ae2268f9f2
200k simulation: check stream sequence; delay in GetMore loop
2021-08-02 10:52:24 -07:00
Xiaoxi Wang
2a88033800
clean 100k simulation test. revert changes of fdbrpc.h
2021-07-31 16:46:14 -07:00
Xiaoxi Wang
1c4bce17aa
revert code refactor
2021-07-30 19:08:22 -07:00
Andrew Noyes
353efe7db2
Merge pull request #5264 from sfc-gh-tclinkenbeard/fix-more-clang-warnings
...
Enable more warnings for `clang`
2021-07-29 15:43:54 -07:00
Xiaoxi Wang
10c82b422f
merge master branch
2021-07-28 14:19:46 -07:00
Xiaoxi Wang
12d4f5c261
disable streaming peek for localities < 0
2021-07-28 14:11:25 -07:00
sfc-gh-tclinkenbeard
94a65865d9
Merge remote-tracking branch 'origin/master' into fix-clang-warnings
2021-07-28 12:29:27 -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
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
Xiaoxi Wang
c6b0de1264
problem: OOM
2021-07-26 09:36:53 -07:00
sfc-gh-tclinkenbeard
64dc1dc185
Fix -Wreorder-ctor warnings in NativeAPI.actor.cpp and several other files
2021-07-24 00:23:06 -07:00
Xiaoxi Wang
bfebd4e812
Merge branch 'master' of https://github.com/apple/foundationdb into tlog_dev
2021-07-22 16:15:07 -07:00
Xiaoxi Wang
cd32478b52
memory error(Simple config)
2021-07-22 15:45:59 -07:00
sfc-gh-tclinkenbeard
e62e6503ac
Fix most delete-non-virtual-dtor clang warnings
2021-07-21 23:32:44 -07:00
Xiaoxi Wang
68b08a3224
add TLog streaming peek to OldTLogServer_x_x
2021-07-21 13:23:16 -07:00
Xiaoxi Wang
1057835e8b
merge with master
2021-07-20 17:09:34 -07:00
Xiaoxi Wang
974bb4b344
add stream peek function to oldTLogServer_x_x.actor.cpp and LogRouter
2021-07-20 17:01:37 -07:00
sfc-gh-tclinkenbeard
6f81155784
Merge remote-tracking branch 'origin/master' into const-serverdbinfo
2021-07-20 10:18:40 -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
sfc-gh-tclinkenbeard
84f6b55e6c
Prevent tLog from modifying ServerDBInfo object
2021-07-11 23:29:36 -07:00
sfc-gh-tclinkenbeard
79ff07a071
Added *BOOLEAN_PARAM macros to enforce documentation of boolean parameters
2021-07-02 15:04:42 -07:00
Evan Tschannen
fcb8bd6475
Revert "Make the sim2 run loop match the behavior of the net2 run loop."
2021-06-22 14:50:01 -07:00
Evan Tschannen
801f147551
properly handle io_errors from the destructor of LogData
2021-05-20 18:23:11 -07:00
Evan Tschannen
907248dcd4
fixed a rare simulation bug where missingFinalCommit could be skipped by two successive logSystem changes
2021-05-19 13:26:01 -07:00
sfc-gh-tclinkenbeard
5c2d7b6080
Create RangeResult type alias
2021-05-03 13:14:16 -07:00
FDB Formatster
df90cc89de
apply clang-format to *.c, *.cpp, *.h, *.hpp files
2021-03-10 10:18:07 -08:00
A.J. Beamon
aaf0a9aa7b
Merge branch 'release-6.3' into merge-release-6.3-into-master
...
# Conflicts:
# build/docker-compose.yaml
# cmake/ConfigureCompiler.cmake
# fdbclient/FileBackupAgent.actor.cpp
# fdbrpc/AsyncFileCached.actor.h
# fdbrpc/IAsyncFile.h
# fdbrpc/IRateControl.h
# fdbrpc/simulator.h
# fdbserver/KeyValueStoreSQLite.actor.cpp
# fdbserver/storageserver.actor.cpp
# fdbservice/ServiceBase.cpp
2021-02-08 12:58:34 -08:00
A.J. Beamon
67e783acf8
Merge branch 'release-6.2' into merge-release-6.2-into-release-6.3
...
# Conflicts:
# cmake/CompileBoost.cmake
# cmake/FDBComponents.cmake
# fdbrpc/AsyncFileCached.actor.h
# fdbrpc/simulator.h
# fdbserver/KeyValueStoreSQLite.actor.cpp
# fdbserver/Knobs.cpp
# fdbserver/Knobs.h
# fdbserver/storageserver.actor.cpp
# flow/Knobs.h
# flow/network.h
2021-02-08 09:20:28 -08:00
Evan Tschannen
068647ba1b
updated naming and comments
2021-02-03 14:24:39 -08:00
Evan Tschannen
4f3da7c93b
also kill tlogs if a commit takes too long
2021-01-29 12:18:06 -08:00
Andrew Noyes
4ee97c0784
Use clang-tidy to automatically fix missing overrides
...
Use `clang-tidy -p . $file -checks='-*,modernize-use-override' -header-filter='.*' -fix`
to fix missing overrides, and then use git clang-format to reformat just
those changes. This went pretty well for most files.
Formatting the following files went off the rails, so I'm going to
follow up with a commit that's just clang-tidy and no clang-format.
- fdbclient/DatabaseBackupAgent.actor.cpp
- fdbclient/FileBackupAgent.actor.cpp
- fdbserver/OldTLogServer_4_6.actor.cpp
- fdbmonitor/SimpleIni.h
- fdbserver/workloads/ClientTransactionProfileCorrectness.actor.cpp
2021-01-26 02:04:12 +00:00
Markus Pilman
bdd3dbfa7d
remove duplicates
2020-11-10 14:01:07 -07:00
sfc-gh-tclinkenbeard
0814841827
Replace NULL with nullptr in fdbserver
2020-09-20 11:31:49 -07:00
Evan Tschannen
12edadd059
Merge branch 'release-6.3'
...
# Conflicts:
# CMakeLists.txt
# fdbclient/Knobs.cpp
# fdbclient/MasterProxyInterface.h
# fdbrpc/simulator.h
# fdbserver/MasterProxyServer.actor.cpp
# tests/fast/CycleAndLock.txt
# tests/fast/TxnStateStoreCycleTest.txt
# tests/fast/VersionStamp.txt
# tests/slow/ParallelRestoreOldBackupApiCorrectnessAtomicRestore.txt
# tests/slow/ParallelRestoreOldBackupCorrectnessCycle.txt
# versions.target
2020-08-31 19:33:34 -07:00
Evan Tschannen
29eec30183
Merge branch 'release-6.2' into release-6.3
...
# Conflicts:
# CMakeLists.txt
# build/Dockerfile
# build/Dockerfile.devel
# documentation/sphinx/source/downloads.rst
# fdbserver/Knobs.cpp
# fdbserver/LogSystem.h
# fdbserver/MasterProxyServer.actor.cpp
# fdbserver/TagPartitionedLogSystem.actor.cpp
# fdbserver/WaitFailure.actor.cpp
# fdbserver/fdbserver.vcxproj
# fdbserver/fdbserver.vcxproj.filters
# packaging/msi/FDBInstaller.wxs
2020-08-31 01:10:29 -07:00