envoyproxy/envoy

redis key_formatter should handle cases where client keys contain hash tag

Offen

#30.905 geöffnet am 16.11.2023

 (6 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)C++ (5.373 Forks)batch import
area/redisenhancementhelp wanted

Repository-Metriken

Stars
 (27.997 Sterne)
PR-Merge-Metriken
 (PR-Metriken ausstehend)

Beschreibung

Title: redis key_formatter should handle cases where client keys contain hash tag

Description: Redis supports hash tag feature which can be used to to take a curly braces wrapped substring for key hash. Consider a scenario where user specify a key_formatter that uses hash tag, e.g. prefix-{%KEY%}, and the client key contains hash tag as well, e.g. foo-{bar}. The formatted key becomes prefix-{foo-{bar}} and foo-{bar will be used for hash instead ofbar intended by client. The proposed change is to add an option for key_formatter to prefer client key's hash tag if present. If the feature is enabled and the first pair of curly braces in key_formatter wraps %KEY% which also contains hash tag, the key_formatter will be stripped off of the pair of curly braces. In the above example, the formatted key becomes prefix-foo-{bar}.

[optional Relevant Links:] redis hash tag

Contributor Guide