Tags: speb-meta/mcrouter
Tags
fbcode/mcrouter/routes/McRouteHandleProvider-inl.h Reviewed By: MatzeB Differential Revision: D104066553 fbshipit-source-id: 0a37e97d59a1f7287ef32ab54a90afe0b1569239
Enable Pyrefly in fbcode/mcrouter Summary: Automated migration to enable Pyrefly type checking for `fbcode/mcrouter`. - Added `python.set_pyrefly(True)` to PACKAGE file - Suppressed pre-existing type errors Pyrefly is Meta's next-generation Python type checker, replacing Pyre. If you encounter issues, you can revert the PACKAGE change by removing the `python.set_pyrefly(True)` line. #pyreupgrade Differential Revision: D103425534 fbshipit-source-id: dbea23f732c5b6d3a9e8e2f0de0c75a8803b6ad4
Make ExternalCarbonConnectionImpl fiber stack size a gflag (default 6… …4 KiB) Summary: Human Darrien - For the mcrouter folks, let us know if this is a reasonable change to make. We are getting fiber overflows in our tests as of late since D100058297 in our tests. We're hoping to provide an override in the least invasive way so we can have these tests run again. Let us know if this is reasonable 🙂↕️ *** The `fbjava/privacy/zone:zone_library_test` integration tests fail in `mode/dev` with `folly::fibers Fiber stack overflow detected`. Root cause: `mcrouter/lib/carbon/connection/ExternalCarbonConnectionImpl.cpp`'s `ThreadInfo` constructs its `FiberManager` with the default `Options` (16 KiB stack), which becomes 32 KiB in dev after the `stackSizeMultiplier=2` is applied. The `AsyncMcClient::create` path running on that fiber overflows the 32 KiB stack in unoptimized builds where frames are larger. Added a `cacheclient_external_fiber_stack_size` gflag defaulting to 65536 bytes (64 KiB), and wired it into the `FiberManager::Options.stackSize` used by `ThreadInfo`. The new default gives 64 KiB × 2 = 128 KiB in dev (and 64 KiB in opt), enough headroom for `AsyncMcClient::create` while still being reasonable for a per-fiber allocation. Operators can tune this further at runtime if needed. Differential Revision: D101644600 fbshipit-source-id: b75d788c6339a76265de634da7e23af83cb70d30
Fix CQS signal clang-diagnostic-shadow in fbcode/mcrouter/routes Differential Revision: D100793251 fbshipit-source-id: edc39586d57ad676d02f9f3b316d7f4e1fc7724a
ThriftRemoveRefSuffix_mcrouter_lib_network Reviewed By: stuclar Differential Revision: D98901889 fbshipit-source-id: f35465b22bfb3916a09a716601f9b5c234280ff5
Fix broken connection counts during connection storms in Memcache Summary: This diff fixes the issue where connection count statistics become incorrect during connection storms (high rate of connection establishment). The root cause was that the `onDown` callback in `ProxyDestination-inl.h` unconditionally incremented `num_connections_closed_stat`, even when a connection failed to establish (with `CONNECT_TIMEOUT` or `CONNECT_ERROR`). In these failure cases, the `onUp` callback was never called, so `num_connections_opened_stat` was never incremented, causing the connection count to become unbalanced. Changes made: 1. Added a helper function `isConnectionDownReasonConnectFailure()` in `ConnectionDownReason.h` to identify when a connection failed to establish (returns true for `CONNECT_TIMEOUT` and `CONNECT_ERROR`) 2. Modified the `onDown` callback in `ProxyDestination-inl.h` to only increment connection closed stats when the connection was actually established (i.e., when `isConnectionDownReasonConnectFailure()` returns false) This ensures that: - `num_connections_opened_stat` is only incremented when a connection successfully establishes (in `onUp`) - `num_connections_closed_stat` is only incremented when a previously established connection closes (in `onDown`, but now guarded by the check) - Connection attempts that fail before establishing don't affect the connection count statistics [Session trajectory link](https://www.internalfb.com/intern/devai/devmate/inspector/?id=T95121022-d50ecab6-f838-4554-8aef-1b92eb375313) Reviewed By: stuclar Differential Revision: D89560512 fbshipit-source-id: d4fc26fa3227e2c7dd2b2be8936b24db0d840279
Add reviewers Reviewed By: stuclar Differential Revision: D98378524 fbshipit-source-id: 99eaf699746fdebe161a9a61e56100b0e2a0f8b2
fbcode/mcrouter/lib/config/ConfigPreprocessor.cpp Reviewed By: yfeldblum Differential Revision: D96595998 fbshipit-source-id: 7a57442586151e1289bdb62bf41a3e1f17a8402d
Remove Support Ukraine banner from Mcrouter README Summary: Remove the Support Ukraine banner badge from the Mcrouter open source project README file. Reviewed By: CamiWilliams Differential Revision: D96484176 fbshipit-source-id: 4293e391dd71c5e4d4343c1f2bf73aea42b014ea
Replace unstructured "thread" annotation in Thrift output Summary: X-link: facebookresearch/DCPerf#501 Migrates to supported structured annotation Reviewed By: aristidisp Differential Revision: D95448139 fbshipit-source-id: b43aa45000faafb64127260b86e95c616cd7b626
PreviousNext