72 Commits

Author SHA1 Message Date
sfc-gh-tclinkenbeard
a71099471b Update copyright header dates 2022-03-21 13:36:23 -07:00
Markus Pilman
a61dd41b45 Add an empty test to make sure noSim tests succeed 2022-02-25 15:38:16 -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
sfc-gh-tclinkenbeard
ec64890ac1 Remove some usages of PRId64 by using fmt library 2021-11-30 23:35:36 -08:00
Lukas Joswiak
4cd642be7a Fix some common sampling crashes at high sampling frequencies 2021-09-30 17:25:09 -07:00
Lukas Joswiak
d606392c68 Disable more ALP work when sampling disabled 2021-08-01 20:11:50 -07:00
Lukas Joswiak
4faf83bcb5 Attempt to fix gcc link issue 2021-07-27 11:26:18 -07:00
Lukas Joswiak
59d535149e Merge branch 'master' into fixes/alp6 2021-07-27 10:07:18 -07:00
Lukas Joswiak
e9a1679467 Disable sampling everywhere except fdbserver 2021-07-27 09:53:23 -07:00
Lukas Joswiak
2d248a5926 Collect actors waiting on disk and network 2021-06-17 16:50:34 -07:00
Lukas Joswiak
805c4200ce Add collector to get running actor name 2021-06-16 18:08:51 -07:00
Lukas Joswiak
f938ed6a7e More cleanup 2021-06-15 15:08:17 -07:00
Lukas Joswiak
eb3fb811d4 Cleanup 2021-06-15 15:03:44 -07:00
Lukas Joswiak
4eca095644 Remove scoped lineage 2021-06-15 11:08:57 -07:00
Lukas Joswiak
7753f38053 ThreadSafe, remove getCurrentLineage work 2021-06-14 18:11:37 -07:00
Lukas Joswiak
0ff041222a Add removals back 2021-06-13 18:23:59 -07:00
Lukas Joswiak
112be7a763 Remove most work 2021-06-13 16:19:02 -07:00
Lukas Joswiak
23f4aec641 Remove bad line 2021-06-12 22:38:22 -07:00
Lukas Joswiak
0301072690 Refactor 2021-06-11 13:01:32 -07:00
sfc-gh-tclinkenbeard
399c2c96f0 Remove unnecessary std::string copies from flow 2021-06-09 11:40:01 -07:00
Lukas Joswiak
e9fdbb9c86 Enable sampling 2021-06-07 18:01:14 -07:00
Lukas Joswiak
eb4c4886b2 Remove sample call 2021-06-04 15:01:18 -07:00
Lukas Joswiak
042aa60336 Temporary fix for ld linking issue 2021-06-04 15:01:18 -07:00
Lukas Joswiak
c62e100dfb Attempt gcc compilation fix 2021-06-04 15:01:18 -07:00
Lukas Joswiak
486a04659f Lazy inititialization 2021-06-04 15:01:18 -07:00
Lukas Joswiak
ca79b8eaab Various ALP fixes 2021-06-04 15:01:18 -07:00
Lukas Joswiak
153de33f57 Revert "Merge pull request #4802 from sfc-gh-ljoswiak/revert/actor-lineage"
This reverts commit 6499fa178e8f65a22105c2cd062a67209b562973, reversing
changes made to 15126319577f915f28aa6308bbf066dc7ec992a2.
2021-06-04 13:31:55 -07:00
Lukas Joswiak
4ea760b2a9 Revert "Merge pull request #4136 from sfc-gh-mpilman/features/actor-lineage"
This reverts commit da41534618a2a1edbf6b0b760635175372a66294, reversing
changes made to e6300905d6f294c52ebd166f4714541b084f37b4.
2021-05-10 20:26:12 -07:00
Lukas Joswiak
cf4218dfd1 Fixes simulation failures
Fixes the following issues:

1. Use the right index when initializing the WriteOnlySet's vector of
   atomics. Also switch to std::atomic_init to initialize each atomic in
   the vector (cannot default construct the atomics in the vector
   because std::atomic does not have a copy constructor).
2. Add failure check for when items cannot be inserted into the
   WriteOnlySet due to capacity constraints. This situation occurs when
   `copy` is not called on the WriteOnlySet, such as when sampling is
   disabled. The `copy` function is what clears the WriteOnlySet.
3. Remove a global config feature I added to update the ClientDBInfo
   object used by the global config listener function. This needs more
   investigation, but the effect of this change could be that global
   config changes are not correctly recognized on fdbserver processes.
4. Add various ASSERTs to verify data in WriteOnlySet.
2021-05-01 15:26:28 -07:00
Markus Pilman
20d98421af fix compiler errors 2021-04-09 15:16:07 -06:00
Markus Pilman
2064903705 collect and serialize 2021-04-09 14:25:11 -06:00
Markus Pilman
9bcde529f8
Merge pull request #4 from sfc-gh-ljoswiak/features/current-actor
Sample running actor
2021-04-05 11:36:48 -06:00
Lukas Joswiak
c90be2003f Profile running actor 2021-04-01 10:34:59 -07:00
Markus Pilman
dc35af3760 Merge remote-tracking branch 'origin/master' into features/actor-lineage 2021-04-01 11:01:31 -06:00
Markus Pilman
41faa51c7a re-add debugRandom 2021-03-29 13:31:16 -06:00
Markus Pilman
eb036b7b02 Merge remote-tracking branch 'origin/master' into features/actor-lineage 2021-03-17 11:59:54 -06:00
FDB Formatster
df90cc89de apply clang-format to *.c, *.cpp, *.h, *.hpp files 2021-03-10 10:18:07 -08:00
Markus Pilman
fb64902d5c Assign roles 2021-01-19 16:04:09 -07:00
Markus Pilman
945d0246cd add actor stacktrace feature 2020-12-09 13:28:15 -07:00
Markus Pilman
0d324cee80 Annotation framework and role lineage 2020-12-09 10:19:59 -07:00
Markus Pilman
d837e923ad minor bugfix 2020-12-07 15:23:18 -07:00
Markus Pilman
05f77f905f Added actor lineage 2020-12-07 15:15:25 -07:00
Markus Pilman
82f7f541c3 started lineage implementation 2020-11-25 11:38:08 -07:00
Andrew Noyes
62d3b1c674 Use add_link_options. Also add USE_MSAN
And define the macros stacktrace.amalgamation.cpp expects
2020-10-15 17:08:41 +00:00
Russell Sears
3415bbcd09 Fix ARM build; add ACKNOWLEDGEMENTS entries 2020-06-02 16:09:43 -07:00
Russell Sears
a99ceb9c42 Add cmake option to enable avx512 2020-06-02 15:07:00 -07:00
Russell Sears
c5e2df99a2 comments 2020-06-02 15:07:00 -07:00
Russell Sears
e77f9701f3 Settle on using rte_memcpy when we do not know the copy size at runtime, and builtin memcpy otherwise 2020-06-02 15:06:57 -07:00
A.J. Beamon
2336f073ad Checkpointing a bunch of work on throttles. Rudimentary implementation of auto-throttling. Support for manual throttling via fdbcli. Throttles are stored in the system keyspace. 2020-04-03 15:24:14 -07:00
Andrew Noyes
6aa0ada7b1 Replace scalar root types with proper messages 2019-08-28 14:40:50 -07:00