envoyproxy/envoy

Increase limit of path_match_policy.path_template variables

オープン

#31,018 opened on 2023/11/22

 (4 件のコメント) (0 件のリアクション) (1 人の担当者)C++ (5,373 件のフォーク)batch import
area/matchingenhancementhelp wanted

Repository metrics

Stars
 (27,997 個のスター)
PR merge metrics
 (PR metrics pending)

説明

Right now the number of variables per path in path_match_policy.path_template is limited to 5: https://github.com/envoyproxy/envoy/blob/2de016d1007aabff202220b8177167c9ab3e8c6a/source/extensions/path/uri_template_lib/uri_template_internal.cc#L224-L226 https://github.com/envoyproxy/envoy/blob/2de016d1007aabff202220b8177167c9ab3e8c6a/source/extensions/path/uri_template_lib/uri_template_internal.cc#L37

I don't see a particular reason other than routing performance for this artificial limit. It is also not documented anywhere, just like the variable name limit of 16 characters.

What I do see is this somewhat low limit easily becoming a breaking factor in more complex setups such as the one I am working on right now.

Can this limit be increased and documented please? Without having any data other than my own use case, my guess is 10 would be a more realistic upper bound that would cover most if not all "realistic" use cases of others as well.

Alternatively, is there another feature that I could use to rewrite paths with variables that is better suited for a high number of variables that I am not aware of?

コントリビューターガイド