Commit Graph

3690 Commits

Author SHA1 Message Date
Meng Xu 214a72fba3 TeamCollection: Resolve review comments
1) Reduce the frequency of checking if we need to call teamRemover
2) Improve code efficiency in finding the machine team to remove
3) Remove unused code
4) Add sanity check
2019-02-12 10:59:57 -08:00
Meng Xu 3b8ae0fe95 TeamCollection: Add into 6.1 release note 2019-02-08 13:50:27 -08:00
Meng Xu 7cfe6de27e TeamCollection: Server team number must match machine team number
DESIRED_TEAMS_PER_MACHINE must equal to DESIRED_TEAMS_PER_SERVER.
Otherwise, we may have to few machine teams to create enough server teams.

Note that BUGGIFY macro value is based on a random number generator.
When you have two BUGGIFY, one may be true and the other is false.

Also fix a bug in get the number of healthy machine teams.
2019-02-07 13:53:55 -08:00
Meng Xu 76d022f71c TeamCollection: Remove redundant teams
When the total number of teams is larger than the desired number,
we should gracefully remove the redundant teams so that
the number of teams is kept to a low number and the possibility of
losing data is guaranteed to be extremely low even when multiple
racks fail at the same time.
2019-02-07 11:24:51 -08:00
Meng Xu 455024b3fe SimulationTest: Test the number of teams
Magnify the possibility that the number of created machine teams is
larger than the number of desired machine teams if we do NOT try to remove the surplus machine teams.
This help test the upgrade to machine team in FDB 6.1
2019-02-06 11:04:41 -08:00
Meng Xu 2b73c89e98 TeamCollection: Test the number of teams
Call the traceTeamCollectionInfo function to record the team numbers
when we add a team directly from the shard information, instead of
using addTeamsBestOf logic.
2019-02-05 15:58:16 -08:00
Meng Xu f5171d1b57 TeamCollection: Test the number of teams
The current simulator does not validate if the number of teams in
the system is larger than the maximum desired number of teams.
This validation should be added because we do NOT want too many teams
in the system, which may impede the systems availability when
multiple fault zones (e.g., machines) crashes at the same time.

This commit adds the test at the consistency check in simulation.
Since the current code does not handle the upgrading situation
when we enforce the machine teams, the test is expected to fail.

The later commit will handle the upgrading situation which gracefully
remove the surplus teams.
2019-02-04 18:14:36 -08:00
John Brownlee 477cfe1269
Merge pull request #1109 from AlvinMooreSr/runtime-image
Added Missing Binaries To Runtime Image
2019-02-01 09:45:12 -08:00
Alvin Moore af292818ac Added backup_agent and dr_agent to runtime docker image
Removed mounted website directory from image
Explicitly listed runtimes being copied to runtime image
2019-02-01 09:23:18 -08:00
Alex Miller 8f46bf56fa
Merge pull request #1104 from atn34/fix-fdbmonitor-rpm-path
Fix fdbmonitor rpm path and init script permissions for cmake
2019-01-31 14:30:30 -08:00
Alex Miller c4ae2609b9
Merge pull request #1106 from AlvinMooreSr/build-docker
Increment Build Docker Version
2019-01-31 13:57:26 -08:00
Alvin Moore fd35a46888 Incremented the version of the build docker due to the addition of the boost 1.67 directory 2019-01-31 11:10:34 -08:00
Andrew Noyes aa9a7a6dc0 Make init script executable in cmake install 2019-01-31 09:38:43 -08:00
Andrew Noyes 935f8a92f4 Install fdbmonitor without lib suffix for cmake 2019-01-31 09:06:49 -08:00
Alex Miller 0e5db1e7b7
Merge pull request #1096 from mpilman/features/actor-forward-declarations
Allow forward declarations to be actors
2019-01-30 13:30:49 -08:00
Evan Tschannen c6e878e07f
Merge pull request #1093 from tclinken/throttle-status-requests
Throttle Status Requests
2019-01-29 14:43:13 -08:00
Alex Miller 3ef61c393c
Merge pull request #1095 from timephy/patch-2
Staying consistent with Pointer syntax
2019-01-29 14:20:53 -08:00
Alex Miller 52a95ec340
Merge pull request #1094 from atn34/link-rt-into-fdbmonitor
Link librt into fdbmonitor
2019-01-29 14:20:33 -08:00
mpilman 01730cc461 Allow forward declarations to be actors
If an actor is forward declared it is kind of
awkward as the signatures don't fit. For example:

Future<Void> foo(int const& bar);

is the correct forward declaration for this actor:

ACTOR Future<Void> foo(int bar);

This also means that a lot of tooling (like rtags/cquery etc)
doesn't work correctly. It will show errors that the function
calls are ambiguous and "find references"-features typically
don't work.

Allowing to do this in the actor compiler is the first step. The
next will be to refactor all forward declarations.
2019-01-29 10:57:54 -08:00
Tim Guggenmos dd4d9b104b
Staying consistent with Pointer syntax
Space after '*' instead of before it
2019-01-29 10:07:49 +01:00
Markus Pilman ab37648037
Only link librt on linux fdbmonitor/CMakeLists.txt
Co-Authored-By: atn34 <anoyes34@gmail.com>
2019-01-28 21:44:48 -08:00
Evan Tschannen a678f778fa
Increase severity to SevWarnAlways for TooManyStatusRequests trace
Co-Authored-By: tclinken <trevorclinkenbeard@gmail.com>
2019-01-28 17:50:50 -08:00
A.J. Beamon 6f01f83cd6
Updated client error message for too many status requests
Co-Authored-By: tclinken <trevorclinkenbeard@gmail.com>
2019-01-28 17:49:49 -08:00
Andrew Noyes 8fc88306cf Link librt into fdbmonitor 2019-01-28 17:05:29 -08:00
Trevor Clinkenbeard 5b89db811a Throttle status requests with MAX_STATUS_REQUESTS_PER_SECOND knob, whenever status batching is used. 2019-01-28 15:37:30 -08:00
Trevor Clinkenbeard dc2b740415 Added server_overloaded error and client message 2019-01-25 13:15:19 -08:00
Alec Grieser ebab9c44f4
Merge pull request #1089 from ajbeamon/java-makefile-cluster-options-fix
Remove ClusterOptions from generated sources in Java
2019-01-25 09:57:04 -08:00
A.J. Beamon 2173e0acda Remove ClusterOptions from generated sources in Java 2019-01-25 09:30:02 -08:00
Alex Miller b6561a8912
Merge pull request #1087 from atn34/fix-cmake-java-bindings
Fix cmake java bindings
2019-01-24 17:25:50 -08:00
Andrew Noyes 1c1e42396c ClusterOptions.java is no longer generated 2019-01-24 16:04:56 -08:00
Andrew Noyes 6b34d62918 Fix GENERATED_JAVA_DIR 2019-01-24 15:59:18 -08:00
Andrew Noyes aa566a755f Account for file mv's/rm's in java bindings cmake 2019-01-24 15:41:27 -08:00
Alex Miller ec32d3308b
Merge pull request #1086 from mpilman/features/c++-compiler-errors
Fixed several minor code issues
2019-01-24 15:24:33 -08:00
mpilman 79637f07ac Fixed several minor code issues
These will become a problem as soon as we
switch to C++17
2019-01-24 14:43:12 -08:00
Alec Grieser 04b94e74c7
Merge pull request #942 from ajbeamon/remove-cluster-from-bindings
Remove cluster from bindings
2019-01-24 14:39:09 -08:00
Alex Miller a67077f06c
Merge pull request #1085 from ajbeamon/thread-safety-fixes
Thread safety fixes
2019-01-24 13:58:26 -08:00
Alex Miller 1c6d7996fa
Merge pull request #1076 from mpilman/dev
ctest improvements
2019-01-24 13:56:58 -08:00
A.J. Beamon 7fde75c439 Avoid possibly concurrent reassignment of dl_iterate_phdr. 2019-01-24 13:28:45 -08:00
A.J. Beamon efe06d71ce Change profilingEnabled to thread_local to eliminate a race. 2019-01-24 13:27:16 -08:00
Alex Miller f5e5f02a7f
Update tests/CMakeLists.txt
Co-Authored-By: mpilman <markus@pilman.ch>
2019-01-24 13:16:06 -08:00
Alex Miller 83a9d5790f
Update tests/CMakeLists.txt
Co-Authored-By: mpilman <markus@pilman.ch>
2019-01-24 13:15:59 -08:00
Alex Miller 5b8c98fd22
Update tests/CMakeLists.txt
Co-Authored-By: mpilman <markus@pilman.ch>
2019-01-24 13:15:42 -08:00
Alex Miller a50f2d953a
Update tests/CMakeLists.txt
set buggify to on by default

Co-Authored-By: mpilman <markus@pilman.ch>
2019-01-24 13:15:14 -08:00
Alex Miller d3d62a1c5a
Merge pull request #1082 from atn34/fdbmonitor-doesnt-link-against-flow
Don't link flow into fdbmonitor for cmake
2019-01-24 12:01:01 -08:00
Andrew Noyes c167ed5457 Don't link flow into fdbmonitor for cmake
It seems that fdbmonitor is not meant to depend on flow, since it
redefines symbols such as `joinPath`
2019-01-24 09:59:38 -08:00
A.J. Beamon 3b2700d253
Merge pull request #1067 from atn34/bit-length-python-2.6
bit_length python 2.6 compat
2019-01-24 11:45:55 -05:00
John Brownlee 620444d539
Merge pull request #1020 from AlvinMooreSr/docker-curl
Better Support For Alternate Download Website
2019-01-23 08:47:41 -08:00
John Brownlee df718280a2
Merge pull request #1077 from cdonati/docs-dr-switch-agent
Note dr_agent prerequisite for "fdbdr switch"
2019-01-23 08:43:00 -08:00
Chris Donati 1c2dc20007 Note dr_agent prerequisite for "fdbdr switch"
If the user forgets to start a dr_agent with the right arguments
on the destination cluster, the switch cannot complete.
2019-01-22 16:57:37 -08:00
mpilman 58964af7e1 ctest improvements - #1058
- A set of CMake variables controls whether to keep
  the simfdb directory and the traces and whether we
  want to aggregate the traces into a single file
- Test labels now contain the directory they are in
  so that one can now run `ctest -R fast/`
- A different binary can be used for restart tests. CMake
  will automatically look for an installed fdb and use that
  by default. If none is found, it will use the built one
  but it will also print a warning
- CMake will throw an error if there are any text files in
  the tests directory that are not associated with a test.
- Moved testing from fdbserver/CMakeLists.txt to
  tests/CMakeLists.txt
- Moved fdb testing functions to its own cmake module
2019-01-22 14:34:51 -08:00