Skip to content

Tags: speb-meta/mcrouter

Tags

v2026.05.11.00

Toggle v2026.05.11.00's commit message
fbcode/mcrouter/routes/McRouteHandleProvider-inl.h

Reviewed By: MatzeB

Differential Revision: D104066553

fbshipit-source-id: 0a37e97d59a1f7287ef32ab54a90afe0b1569239

v2026.05.04.00

Toggle v2026.05.04.00's commit message
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

v2026.04.27.00

Toggle v2026.04.27.00's commit message
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

v2026.04.20.00

Toggle v2026.04.20.00's commit message
Fix CQS signal clang-diagnostic-shadow in fbcode/mcrouter/routes

Differential Revision: D100793251

fbshipit-source-id: edc39586d57ad676d02f9f3b316d7f4e1fc7724a

v2026.04.13.00

Toggle v2026.04.13.00's commit message
ThriftRemoveRefSuffix_mcrouter_lib_network

Reviewed By: stuclar

Differential Revision: D98901889

fbshipit-source-id: f35465b22bfb3916a09a716601f9b5c234280ff5

v2026.04.06.00

Toggle v2026.04.06.00's commit message
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

v2026.03.30.00

Toggle v2026.03.30.00's commit message
Add reviewers

Reviewed By: stuclar

Differential Revision: D98378524

fbshipit-source-id: 99eaf699746fdebe161a9a61e56100b0e2a0f8b2

v2026.03.23.00

Toggle v2026.03.23.00's commit message
fbcode/mcrouter/lib/config/ConfigPreprocessor.cpp

Reviewed By: yfeldblum

Differential Revision: D96595998

fbshipit-source-id: 7a57442586151e1289bdb62bf41a3e1f17a8402d

v2026.03.16.00

Toggle v2026.03.16.00's commit message
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

v2026.03.09.00

Toggle v2026.03.09.00's commit message
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