Skip to content

Tags: facebook/mcrouter

Tags

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

v2026.03.02.00

Toggle v2026.03.02.00's commit message
Add CMake build support

Summary:
Add CMake-based build system for mcrouter OSS releases. This enables building mcrouter outside of Buck/Meta infrastructure using standard CMake tooling, and enables easy build from inside fbcode, sandcastle testing, and so on. This is standard for folly/thrift already.

Changes:
  - Add CMakeLists.txt with full build configuration
  - Add config.h.in and config-impl.h.in templates
  - Add mcrouter-config.cmake.in for downstream CMake consumption
  - Add AGENTS.md with OSS build documentation
  - Update fbcode_builder manifest for mcrouter

Reviewed By: pbhandar2

Differential Revision: D91269570

fbshipit-source-id: e5ebff8056b258692c466e87b52a8568bfd0f7f5

v2026.02.23.00

Toggle v2026.02.23.00's commit message
Migrate folly/experimental/io to canonical paths

Summary:
Update networking-related consumers to use canonical include paths and BUCK deps instead of folly/experimental/io shims.

Header migrations:
- folly/experimental/io/FsUtil.h → folly/io/FsUtil.h

BUCK dep migrations:
- //folly/experimental/io:fs_util → //folly/io:fs_util

Reviewed By: spikeh

Differential Revision: D93247410

fbshipit-source-id: fa103f6cec641a22355b206b3cfee77465a11bf0

v2026.02.16.00

Toggle v2026.02.16.00's commit message
Disable max request limit in standalone mcrouter

Summary:
This avoids the server-side overload error: "load shedding due to max request limit" ([src](https://fburl.com/code/49tk9h9f)).

Notice that this option has been disabled in `UcacheRpcServer` ([src](https://fburl.com/code/vfwplapc)) for a long time. In fact, there we went one step further and disabled active request tracking altogether ([src](https://fburl.com/code/nv98xvg3)), though by doing so we lost some important ODS metrics.

Reviewed By: stuclar

Differential Revision: D91710317

fbshipit-source-id: 1517537a7fb62484872e3742ad3225f870b28b74