envoyproxy/envoy

Increase limit of path_match_policy.path_template variables

Open

#31,018 opened on 2023年11月22日

GitHub で見る
 (4 comments) (0 reactions) (1 assignee)C++ (5,373 forks)batch import
area/matchingenhancementhelp wanted

Repository metrics

Stars
 (27,997 stars)
PR merge metrics
 (平均マージ 8d) (30d で 378 merged PRs)

説明

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?

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