Open gordon-wang-lyft opened 4 weeks ago
@alyssawilk
any chance you can dump an actual RTDS update? My guess is you're sending the value "true" in quotes at which point it'd be parsed as a string not a boolean
@gordon-wang-lyft was able to reproduce this issue in a unit test and is working on a patch.
Thanks, @alyssawilk! We are sending boolean true or false instead of string "true" and "false".
We performed a dump of an actual RTDS update with a boolean value and observed the same result. We identified the root cause:
Regarding the suggestion to use "true" and "false" strings, our preference is to avoid this. Envoy's direction, as per issue #27434, is to pass correct data types directly instead of using strings for booleans and numbers. We’ve already adapted our implementation to pass in booleans directly, aligning with this approach.
Since true and false are initially loaded correctly as strings, onConfigUpdate should maintain that format rather than convert them to "0" and "1". I will create a PR to address this behavior and update the ticket accordingly.
If you are reporting any crash or any potential security issue, do not open an issue in this repo. Please report the issue via emailing envoy-security@googlegroups.com where the issue will be triaged appropriately.
Title: Issue: Boolean Values Interpreted as 1/0 in RTDS Configuration
Description:
Repro steps:
Admin and Stats Output:
Config:
Expected Behavior:
Actual Behavior: The boolean values are being converted to 1/0 in the final layer configuration seen by the Envoy sidecar.
Additional Context: