Cloudflare is developing Oxy, a next-generation, Rust-based proxy framework designed to handle high-load scenarios and support a wide array of communication protocols. This includes exploring and implementing MASQUE (Multiplexing And Secure Communication over QUIC Express) to enable efficient tunneling of UDP traffic over QUIC, building on the DATAGRAM frame extension and extended CONNECT requests. This allows for proxying of protocols like HTTP/3 and other UDP-based applications, with consideration for kernel bypass techniques and efficient data handling. The Images service utilizes hyper, an open-source HTTP library for Rust, for managing socket connections and handling data flow between services. Debugging efforts focused on a race condition within hyper's buffer management when handling large responses, leading to data truncation. The investigation involved deep system-level tracing with strace to understand syscall behavior during successful and failing requests, ultimately identifying a timing-sensitive race condition in hyper's buffer flushing mechanism that occurred under high concurrency and large data loads. A four-line code fix was implemented to address the issue.
All Cloudflare trails