Commit Graph

55 Commits

Author SHA1 Message Date
Xiaoxi Wang e73c0a31e6 add wiggle_server_ids and wiggle_server_addresses in status json 2022-03-02 10:03:23 -08:00
Josh Slocum 92a888910f Fix many repeated recruitment bug 2022-03-01 12:00:53 -06:00
Trevor Clinkenbeard fe957deef8
Merge pull request #6399 from sfc-gh-bvr/fdb#4271
Introduce a new server knob and use it to test if storage servers are…
2022-02-28 13:02:23 -08:00
Renxuan Wang f7eb66441d Try eliminating warnings in macOS and Windows CI builds.
MacOS warnings are format warnings, e.g., `format specifies type 'long' but the argument has type 'Version' (aka 'long long')`.
Windows warnings are `ACTOR does not contain a wait() statement`.
2022-02-25 19:06:57 -08:00
Andrew Noyes 7a9217a392
Add contrib/debug_determinism (#6389)
* Add contrib/debug_determinism

Add an instrumentation-based technique for debugging unseen mismatches. Also guard a few existing sources of nondeterminism that don't affect unseen with the DEBUG_DETERMINISM macro.

Also change the simulated run loop to not run as the only task inside the real run loop, since that was a source of nondeterminism.

Also fix nondeterminism from calling timer_int

* Add StorageMetadataType::currentTime

Basically a deterministic-in-simulation version of timer_int that we can
use instead of timer_int for StorageMetadataType::createdTime
2022-02-25 12:54:31 -08:00
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
Bharadwaj V.R 8cb554a006 Fix formatting issues in DDTeamCollection.actor.cpp 2022-02-23 10:21:34 -08:00
Bharadwaj V.R 102dcb30c6
Merge branch 'main' into fdb#4271 2022-02-23 10:04:19 -08:00
Bharadwaj V.R c1b0b336ce Fix merge conflicts in DDTC.actor.cpp - change serverMetrics to setServerMetrics and setTeamHealthy to markTeamUnhealthy 2022-02-17 20:41:38 -08:00
Bharadwaj V.R 49d2a56776
Merge branch 'main' into dd-utestclass 2022-02-17 20:22:07 -08:00
Bharadwaj V.R 7a17dbeacc Create DD unit test class. Start to make test-specific methods in DDTeamCollection private 2022-02-16 19:18:24 -08:00
Bharadwaj V.R cb5f44c76d
Merge branch 'apple:main' into fdb#4271 2022-02-16 10:14:50 -08:00
Bharadwaj V.R fe03e6f822 Introduce a new server knob and use it to test if storage servers are near the min bar for available space 2022-02-15 22:43:06 -08:00
sfc-gh-tclinkenbeard 32bbabefd7 Merge remote-tracking branch 'origin/main' into dd-refactor 2022-02-15 14:11:30 -08:00
Bharadwaj V.R eaef2a373e Remove superfluous wait statements in DD unit tests. They wait on the getTeam future 2022-02-14 10:11:00 -08:00
Bharadwaj V.R a14377641c Renamed a couple of test-only collection methods and make the test case waits more succinct 2022-02-13 23:53:12 -08:00
sfc-gh-tclinkenbeard e77b70c508 Encapsulate TCMachineTeamInfo fields 2022-02-12 15:50:51 -08:00
sfc-gh-tclinkenbeard 51afe403d1 Encapsulate TCMachineTeamInfo::id field 2022-02-11 22:56:16 -08:00
sfc-gh-tclinkenbeard 10f40294a3 Encapsulate TCServerInfo::teams field 2022-02-11 21:44:28 -08:00
sfc-gh-tclinkenbeard 45f68c7db7 Add TCServerInfo::removeTeamsContainingServer method 2022-02-11 21:29:52 -08:00
sfc-gh-tclinkenbeard 5bfb2669a2 Add TCServerInfo::removeTeam method 2022-02-11 21:05:45 -08:00
sfc-gh-tclinkenbeard 3959ee6c27 Encapsulate TCServerInfo::dataInFlightToServer 2022-02-11 19:41:04 -08:00
sfc-gh-tclinkenbeard 0fe4dcf469 Make several more TCServerInfo fields private 2022-02-11 19:41:04 -08:00
sfc-gh-tclinkenbeard 4aa5a329ac Encapsulate TCServerInfo::collection and TCServerInfo::tracker 2022-02-11 19:41:04 -08:00
sfc-gh-tclinkenbeard 711462dfd7 Encapsulate TCServerInfo::inDesiredDC 2022-02-11 19:41:04 -08:00
Bharadwaj V.R c3bb248d61 Adapt to members of DDCollection class that were accessed directly in test cases becoming private 2022-02-11 13:56:00 -08:00
Bharadwaj V.R 36c5d3a1e6
Merge branch 'main' into dd-utest 2022-02-11 12:25:31 -08:00
sfc-gh-tclinkenbeard 3f8c1e2e69 Encapsulate TCServerInfo::id 2022-02-10 23:04:25 -08:00
Bharadwaj V.R faf74b2563 Removed some trace statements that were accidentally left behind in the code 2022-02-10 22:23:03 -08:00
Bharadwaj V.R 41bd39a82a Fix code formatting 2022-02-10 22:10:50 -08:00
Bharadwaj V.R b306288c62
Merge branch 'main' into dd-utest 2022-02-10 22:00:52 -08:00
Bharadwaj V.R df2f5c5709 Make UT parameters sensitive to server-knobs 2022-02-10 21:52:30 -08:00
Bharadwaj V.R 83b7f1fcbf Add test descriptions for DD unit tests 2022-02-10 19:29:34 -08:00
Bharadwaj V.R 7790d57c06 Mask the use of the delay in getTeam and the buildTeams path in the DD unit test
delay doesn't work as expected in the UT envionment
2022-02-10 18:52:40 -08:00
sfc-gh-tclinkenbeard 2165635478 Make printSnapshotTeamsInfo a static function of DDTeamCollection 2022-02-10 18:45:52 -08:00
sfc-gh-tclinkenbeard 9bc38ae73e Make DDTeamCollection::distributorId private 2022-02-10 18:26:06 -08:00
sfc-gh-tclinkenbeard 14c8483e9d Mark DDTeamCollection::primary private 2022-02-10 18:16:57 -08:00
sfc-gh-tclinkenbeard 7ba250a991 Fix -Wreorder-ctor warnings 2022-02-10 17:54:57 -08:00
sfc-gh-tclinkenbeard 6e60e26730 Make some DDTeamCollection fields private 2022-02-10 16:48:26 -08:00
sfc-gh-tclinkenbeard 641a38bd0b Make more DDTeamCollection methods private.
The methods only used by DDTeamCollection::run can now be made private.
2022-02-10 16:19:32 -08:00
sfc-gh-tclinkenbeard c4508330d2 Make dataDistributionTeamCollection a static function of DDTeamCollection 2022-02-10 16:19:32 -08:00
sfc-gh-tclinkenbeard 5477012ad8 Change DDTeamCollection method signatures to accept references.
Passing nullptr to these methods is invalid, but previously the
signature didn't indicate this. We previously needed to pass pointers
due to actor compiler restrictions, but these restrictions no longer
apply.
2022-02-10 16:19:32 -08:00
sfc-gh-tclinkenbeard b51944b262 Pass constant reference to DDTeamCollection::isCorrectDC 2022-02-10 16:19:32 -08:00
sfc-gh-tclinkenbeard c024fbe845 Mark DDTeamCollection::waitUntilHealthy const 2022-02-10 16:19:32 -08:00
sfc-gh-tclinkenbeard 36700791a1 Use structured bindings in some for loops in DDTeamCollection.actor.cpp 2022-02-10 12:10:45 -08:00
sfc-gh-tclinkenbeard 3141698c41 Use special ASSERT_* macros for numeric comparison in data distribution
code.

This helps debugging by printing the exact input values when an
assertion fails.
2022-02-10 11:59:19 -08:00
sfc-gh-tclinkenbeard b5cefdbcc2 Mark DDTeamCollection methods const 2022-02-10 11:26:04 -08:00
sfc-gh-tclinkenbeard 3c00a66f36 Remove public DDTeamCollection::zeroServerLeftLoggerActor method 2022-02-10 11:19:34 -08:00
sfc-gh-tclinkenbeard c37be7a898 Move DDTeamCollection method implementations into cpp file 2022-02-10 11:09:31 -08:00
Bharadwaj V.R 6d46b03651 Add some unit tests for DD team selection 2022-02-09 22:22:56 -08:00