Zuofeng Zhang
02/25/2026, 2:51 AMURL_DECODE_RECURSIVE to handle multi-level URL encoding cases that frequently occur in real-world log pipelines (e.g., double/triple encoded request URIs, redirect targets, tracking parameters, or upstream systems that encode multiple times).
The function recursively decodes until the result stabilizes (with a safety upper bound), which helps when the encoding depth is unknown. This is particularly useful for log ETL, clickstream analysis, ad/tracking data cleaning, and security rule preprocessing (e.g., detecting encoded path traversal patterns).
Would appreciate feedback on:
1. API design (separate function vs optional parameter),
2. Performance considerations in streaming jobs,
3. Potential regression or misuse risks.
[FLINK-38822] Extend URL_DECODE with optional recursive decoding
https://github.com/apache/flink/pull/27351
Thanks in advance for the review!