Commit eba3850
Forward kcb_identity header to ucache backend from mcrouter
Summary:
When KCB is enabled, mcrouter rebuilds the upstream thrift request from a fixed set of carbon fields and drops any transport header it does not explicitly capture. On the non-lookaside path it stored the verified identity into `client_identifier` (only for shadow) and never populated `kcbIdentity_`, so mcrouter never re-emitted the `kcb_identity` header to the ucache backend. As a result `KeyClientBinder::getObfuscatedClientIdFromKcbIdentityHeader` was unreachable for proxied traffic and the `ucache.kcb_identity_header_*` counters stayed flat.
This forwards the client's `kcb_identity` header verbatim (via new `detail::rawKcbIdentityHeader`) whenever it is non-empty, inside the existing `enableKeyClientBinding_` guard. The vouching CAT is already forwarded alongside it, so the backend performs the authoritative `MEMCACHE_ID` check itself.
Reviewed By: lenar-f
Differential Revision: D111756121
fbshipit-source-id: 8f36cb6c35818c06bac5d6b75c989a288fd01a491 parent b42514d commit eba3850
1 file changed
Lines changed: 24 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
84 | 84 | | |
85 | 85 | | |
86 | 86 | | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
87 | 104 | | |
88 | 105 | | |
89 | 106 | | |
| |||
278 | 295 | | |
279 | 296 | | |
280 | 297 | | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
281 | 305 | | |
282 | 306 | | |
283 | 307 | | |
| |||
0 commit comments