Tags: facebook/mcrouter
Tags
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
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
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
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