Commit Graph

15 Commits

Author SHA1 Message Date
Trevor Clinkenbeard 20241eefbd Merge origin/main into complexity simplifications branch 2026-07-30 11:42:18 -07:00
Trevor Clinkenbeard efe90ace9f Share outbound TLS connection setup and throttling 2026-07-22 09:55:24 -07:00
Trevor Clinkenbeard d326d257dd Convert generic actors to standard coroutines 2026-07-17 01:05:38 -07:00
Trevor Clinkenbeard d1fba364b4 Merge remote-tracking branch 'origin/main' into dev/tclinkenbeard/pr-13374-ci 2026-07-09 09:41:54 -07:00
Trevor Clinkenbeard fe42e6fd79 Enforce clang-tidy braces around long statements 2026-06-22 23:01:11 -07:00
Trevor Clinkenbeard 347586cc74 Rename ThreadHelper.actor.h 2026-06-21 01:58:26 -07:00
Trevor Clinkenbeard 1bc151d47f Add more clang-tidy checks 2026-05-24 15:15:47 -07:00
Michael Stack b0055b88fe
Remove explicit __lsan_do_leak_check() from stopImmediately() (#13242)
* Remove explicit __lsan_do_leak_check() from stopImmediately()

The fix in #13224 (guarding with thread_network == this) resolved the
multi-thread deadlock but the test still times out because the single
main thread's __lsan_do_leak_check() call takes 45+ seconds. The
symbolizer (llvm-addr2line) is slow when resolving stacks through
dynamically loaded external client libraries (libfdb_c_external.so).

Remove the explicit call entirely. LSAN still performs its leak check
automatically at process exit (via the ASAN runtime atexit hook) so
leaks are still detected and reported. Unsuppressed leaks still cause
non-zero exit and fail the test. The suppressions file
(contrib/lsan.suppressions) covers known shutdown-time leaks
(connectionKeeper, connectionMonitor, etc.).

The only behavioral change is that we no longer distinguish "leaks
before intentional shutdown cleanup" from "leaks during shutdown" --
but that distinction was not being used (suppressions cover both).

Verified: ran fdb_c_upgrade_to_future_version with USE_ASAN=ON.
Before fix: hangs 45+ seconds after "Stopping FDB network thread",
killed by ctest timeout. After fix: "FDB network thread successfully
stopped" immediately, test completes cleanly.

* Fix inconsistent function name reference in comment

Add () to __lsan_do_leak_check reference for consistency with other
mentions in the same comment block.
2026-05-19 10:59:02 -07:00
Michael Stack 99ba874c3c
Fix LSAN deadlock during shutdown with multiversion client (#13224)
The multiversion client spawns multiple FDB network threads. When the
process exits, each thread calls stopImmediately() which calls
__lsan_do_leak_check(). LSAN uses a global mutex internally, and the
first thread to acquire it blocks while reading from the symbolizer
process (llvm-addr2line). The other threads wait on the mutex forever,
causing the test to timeout.

This manifests as fdb_c_upgrade_to_future_version (and similar tests
using the multiversion client) timing out at ~45 seconds despite all
workloads completing successfully.

Fix: only call __lsan_do_leak_check() from the main network thread
(thread_network == this). The secondary threads skip it since LSAN
will still check them during process exit anyway.
2026-05-14 13:06:11 -07:00
Trevor Clinkenbeard d7f1bdc66f Prefer makeReference for polymorphic references 2026-05-09 13:13:05 -07:00
Trevor Clinkenbeard 399d13505f Make single-argument constructors explicit 2026-04-24 18:53:40 +00:00
Árni Dagur fe7f875e22
Background refreshed DNS cache (#13020)
* Background refreshed DNS cache

* add default for lastAccess

* eagerly start dns cache refresher

* simplify after C++ coroutine rewrite

* add forward declaration for coordinatorDNSCacheRefresh

* fix coordinator cache refresh worker start location

* formatting
2026-04-20 19:26:58 -07:00
Trevor Clinkenbeard 9f416170b0 Add missing Uncancellable parameters 2026-04-19 08:14:35 +00:00
Trevor Clinkenbeard 7a9d49a7ff Replace race with timeout 2026-04-19 06:47:01 +00:00
Trevor Clinkenbeard 46f5d09d25 Convert Net2.actor.cpp to standard coroutines 2026-04-19 06:37:14 +00:00