envoyproxy/envoy

redis key_formatter should handle cases where client keys contain hash tag

Open

#30.905 aperta il 16 nov 2023

Vedi su GitHub
 (6 commenti) (0 reazioni) (0 assegnatari)C++ (5373 fork)batch import
area/redisenhancementhelp wanted

Metriche repository

Star
 (27.997 star)
Metriche merge PR
 (Merge medio 8g) (378 PR mergiate in 30 g)

Descrizione

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

Guida contributor