You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Summary:
The Axon DL write proxy (dl/write_proxy/service/WriteProxyServer.cpp)
supports request dedup keyed on cluster + keyspace + DLAppendRequest.dedupeKey,
but mcrouter never set dedupeKey, so the dedup window was effectively unusable
from the Memcache invalidation path.
This sets dedupeKey in AxonLogRoute::writeProxy to the request key
(req.key()->fullKey()) for both sets and deletes. All writes to the same key
within the proxy dedup window therefore collapse, which is what suppresses hot
keys (the goal of this feature). Per review discussion, writes to the same key
are treated as concurrent, so collapsing them to a single append is acceptable.
The proxy dedup is best-effort, in-memory and per-host, and is gated off by
default (append_dedup_window_sec=0). A follow-up will set a small dedup window
(<=100ms) once the feature is enabled.
Server-side consumption already exists in the DL write proxy; no change needed
there.
Reviewed By: lenar-f
Differential Revision: D107702706
fbshipit-source-id: 3a77b58240a9fc36199ab4a12730b37e7648dcdf
0 commit comments