While testing Jaeger with the fix provided as part of
THRIFT-5322, users in our community reported that they are still seeing huge allocations when malformed packets are received by our backend (jaeger-agent). See the discussion starting from this comment by vchirikov on Mar 5.
Based on the comment from Yuxuan Wang in the issue linked above, I understand that the issue should be addressed at both the compiler and the Go library:
The sanity check on container header should be done in thrift go library (github.com/apache/thrift/lib/go/thrift)
If you want to avoid allocation of the containers upfront after it passed the header sanity check, then that needs to be don in thrift compiler (in generated go code)