Setting runtime fraction of numerator 0 and FractionalPercent_HUNDRED for RequestMirrorPolicy ends up using FractionalPercent_THOUSAND
#8.299 aberto em 19 de set. de 2019
Métricas do repositório
- Stars
- (27.997 stars)
- Métricas de merge de PR
- (Mesclagem média 8d) (378 fundiu PRs em 30d)
Description
Title: Setting runtime fraction of numerator 0 and FractionalPercent_HUNDRED for RequestMirrorPolicy ends up using FractionalPercent_THOUSAND
Description: We are rolling our RequestMirrorPolicy, we set the path within the Runtime Fraction but not the default like so:
RuntimeFraction: &core.RuntimeFractionalPercent{
RuntimeKey: policy.RuntimeKey,
DefaultValue: &envoytype.FractionalPercent{
Numerator: 0,
Denominator: envoytype.FractionalPercent_HUNDRED,
},
},
But as I change the runtime flag, I am noticing that the runtime fraction is using FractionalPercent_TEN_THOUSAND as a denominator based on the aggregated stats.
Since envoytype.FractionalPercent_HUNDRED is the default value, I believe envoy is treating DefaultValue as a nil value and exercising this code path: https://github.com/envoyproxy/data-plane-api/blob/master/envoy/api/v2/route/route.proto#L640-L645