Commit Graph

3635 Commits

Author SHA1 Message Date
Evan Tschannen 1ac91fa277 fix: the primary location in a forced recovery much have the same dcid as the master 2019-02-18 15:25:14 -08:00
Evan Tschannen 641fb659f9 fix: The known committed version should include log sets where usable_regions=1 2019-02-18 15:24:32 -08:00
Evan Tschannen 562b315744 fix: The anti quorum cannot be more than half of the replication factor, or the log system will continue to accept commits when a recovery is impossible 2019-02-18 15:22:32 -08:00
Evan Tschannen 9cfadad41b fix: if the tagPartitionedLogSystem cannot do a forced recovery, the master should not execute it forced recovery based modifications either 2019-02-18 15:13:18 -08:00
Evan Tschannen dcca22038c fix: all remote tlogs must process the startVersion of a log router before the router will start loading more versions. This prevents the transaction logs from getting more than 5e6 version apart when peeking across multiple generations of log routers 2019-02-18 14:58:34 -08:00
Evan Tschannen d492395f84 fix: simulation could buggify a delay such that data distribution incorrectly thinks the queue is not processing unhealthy relocations 2019-02-18 14:57:07 -08:00
Evan Tschannen 8f2af8bed1 fix: forced recoveries now require a target dcid which will become the new primary location. During the forced recovery, the configuration will be changed to make that location primary, and usable_regions will be set to 1. If the target dcid is already the primary location, the forced recovery will do nothing. This makes forced recoveries idempotent, so it is safe to the client to re-send forced recovery commands to the cluster controller.
fix: the cluster controller attempts to do a commit to determine if the cluster is alive, since its own internal recoveryState might not be up-to-date.

fix: forceMasterFailure on the cluster controller did not always cause the current master to be re-recruited
2019-02-18 14:54:28 -08:00
Evan Tschannen 4c35ebdcc6 fix: because of forced recoveries, storage servers in remote regions cannot update their durable version to (lastLogVersion - 5e6), because the lastLogVersion might have jumped due to an epoch end and the recovery version after the forced recovery could be before the epoch end, causing the storage server to want to rollback to a version it does not have on disk 2019-02-18 14:40:30 -08:00
Evan Tschannen 05ca0a10d8 fix: kill all storage servers which are not in the safe locality after a forced recovery 2019-02-18 14:30:51 -08:00
Evan Tschannen 48d2cb77e6 fix: the only time the log router should allow a gap in versions larger than MAX_READ_TRANSACTION_LIFE_VERSIONS is when processing epoch end. Since one set of log routers is created per generation of transaction logs, the gap caused by epoch end will be within MAX_VERSIONS_IN_FLIGHT of the log routers start version 2019-02-15 14:33:01 -08:00
Evan Tschannen 6d7d40bcb3
Update fdbclient/ManagementAPI.actor.cpp 2019-01-29 11:37:08 -08:00
A.J. Beamon 05b38167d0
Update fdbrpc/sim2.actor.cpp
Co-Authored-By: etschannen <36455792+etschannen@users.noreply.github.com>
2019-01-29 11:35:02 -08:00
A.J. Beamon a49aea29d1
Update fdbclient/ManagementAPI.actor.cpp
Co-Authored-By: etschannen <36455792+etschannen@users.noreply.github.com>
2019-01-29 11:34:50 -08:00
Evan Tschannen 699f8dd617 fix: coordinators auto could put two coordinators in the same zone
simulation now tests two machines in the same zone
2019-01-18 15:42:48 -08:00
Alex Miller 048bfc5c36
Merge pull request #1060 from miclill/patch-1
Fix spelling
2019-01-15 13:56:41 -08:00
miclill 8b3cfa469c
Fix spelling 2019-01-15 19:30:09 +00:00
Alex Miller f07c7d3b9e
Merge pull request #1005 from alexmiller-apple/ctest
Run simulation tests with ctest
2019-01-14 21:05:00 -08:00
Alex Miller 6d1f4bda75 Move traces.xml into the testdir so it doesn't grow infinitely. 2019-01-14 20:58:19 -08:00
Alex Miller c0bf8cd7e7 Remove the test result directory if the test passed. 2019-01-14 20:31:02 -08:00
Alex Miller b4a446756a Remove more top-level tests that were out of order. 2019-01-14 20:28:40 -08:00
Alex Miller 248ae311bf Type=TestFailure events shouldn't fail tests.
This sounds kind of broken, but is needed for now.
2019-01-14 19:16:03 -08:00
Alex Miller 23697f06f7 Fix broken method call. 2019-01-14 19:14:25 -08:00
Alex Miller 0d579b4730 Top level tests aren't run by default, and some fail. 2019-01-14 19:14:25 -08:00
Alex Miller b3e977d7c1 Apply test directory as a label.
This isn't ideal, as it makes `restarting/from_5.2.0/potato.txt` have
the label "from_5.2.0" instead of "restarting", but it does make the
fast label work right.
2019-01-14 19:14:25 -08:00
mpilman 414fb0b6c8 made TestRunner work with XML traces 2019-01-14 19:14:25 -08:00
Markus Pilman 5ba5499b69 fail tests properly 2019-01-14 19:14:25 -08:00
Markus Pilman 14f0a6958b added all tests to ctest 2019-01-14 19:14:25 -08:00
Markus Pilman b17d2234c9 added missing files 2019-01-14 19:14:25 -08:00
Markus Pilman b096b8e3f8 First tests working with ctest 2019-01-14 19:14:25 -08:00
Evan Tschannen 50e95e5ab9
Merge pull request #1054 from bnamasivayam/master
Fix a minor bug in the RoleFitness Class.
2019-01-14 17:02:08 -08:00
Evan Tschannen 7dbf06162e
Update fdbserver/ClusterController.actor.cpp
Co-Authored-By: bnamasivayam <36455962+bnamasivayam@users.noreply.github.com>
2019-01-14 16:57:00 -08:00
Alex Miller 07eed6c228
Merge pull request #1055 from sam-bristow/update-rpm-licenses
Update RPM spec with Apache 2.0 licence
2019-01-14 16:49:17 -08:00
Balachandar Namasivayam ff661bca22 Fix a minor bug in the RoleFitness Class. 2019-01-14 14:54:54 -08:00
Sam Bristow bbc3a8d385 Update RPM spec with Apache 2.0 licence
The RPM packages were still being listed as "FoundationDB Community
Licence Agreement" with a broken link to the old license.

No functional changes to the code.
2019-01-15 11:34:16 +13:00
Evan Tschannen 9912d17c35
Merge pull request #1030 from bnamasivayam/master
Add some sanity checks to tester.actor.cpp
2019-01-11 17:15:40 -08:00
Evan Tschannen 4eb11d74af
Merge pull request #1029 from bnamasivayam/reenable-check_desired_classes
Re-enable CheckDesiredClasses after making necessary changes for mult…
2019-01-11 17:15:05 -08:00
Alex Miller cb938d7d33
Merge pull request #1047 from ajbeamon/add-conveniences-for-optional-and-erroror
Add some conveniences for Optional and ErrorOr
2019-01-11 13:16:18 -08:00
A.J. Beamon d4d5740282 * Add Optional.map and ErrorOr.map.
* Rename Optional/ErrorOr cast_to to castTo.
* Make printable(Optional<T>) templated rather than restricted to StringRef types.
* Fixes bug in (unused) ErrorOr.castTo where an ErrorOr that was not set would lose its error.
2019-01-11 09:03:38 -08:00
Bhaskar Muppana c9c4f9929d
Merge pull request #1038 from alexmiller-apple/fix-cmake-build
Fix the CMake build
2019-01-10 16:01:55 -08:00
Alex Miller 217fb4e6cb Fix the CMake build.
This change was originally authored by @mpilman as part of #1005, but is
something that can instead be merged quickly and easily.
2019-01-10 14:33:09 -08:00
Alex Miller 04a82203c1
Merge pull request #1036 from brownleej/tls-typo-fix
Fix to a typo (I think) in the TLS docs.
2019-01-10 14:28:13 -08:00
John Brownlee f306cc6147 Fix to a typo (I think) in the TLS docs. 2019-01-10 13:57:26 -08:00
Alex Miller 113e894efc
Merge pull request #1033 from atn34/fix-rpm-systemd
Revert change to foundationdb.service
2019-01-10 13:33:04 -08:00
Andrew Noyes 6e92dafc54 Revert change to foundationdb.service 2019-01-10 13:28:56 -08:00
Balachandar Namasivayam baeaa490e4 Add some sanity checks to tester.actor.cpp 2019-01-10 11:05:50 -08:00
Balachandar Namasivayam a8e2e75cd5 Re-enable CheckDesiredClasses after making necessary changes for multi-region setup.
Fixed a couple of bugs
1) A rare race condition where a worker is being roles even after it died.
2) Fix how RoleFitness is calculated for TLog and LogRouter. Only worst fitness is compared to see if a better fit is available.
2019-01-10 10:28:32 -08:00
Steve Atherton 6276d6b4f4
Merge pull request #1026 from etschannen/master
Merge 6.0 into master
2019-01-09 16:23:35 -08:00
Alex Miller db95615a63
Merge pull request #1024 from atn34/add-json-formatter-to-cmake
Add JsonTraceLogFormatter to flow/CMakeLists.txt
2019-01-09 16:17:30 -08:00
Evan Tschannen 684a22a52b Merge branch 'release-6.0'
# Conflicts:
#	documentation/sphinx/source/release-notes.rst
#	fdbbackup/backup.actor.cpp
#	fdbclient/BackupContainer.actor.cpp
#	fdbclient/HTTP.actor.cpp
#	fdbserver/storageserver.actor.cpp
#	fdbserver/workloads/BackupCorrectness.actor.cpp
#	versions.target
2019-01-09 16:14:46 -08:00
Andrew Noyes 5048795554 Add JsonTraceLogFormatter to flow/CMakeLists.txt 2019-01-09 15:58:18 -08:00