[THRIFT-5871] Add message / container size checking for Rust#3178
[THRIFT-5871] Add message / container size checking for Rust#3178Jens-G merged 1 commit intoapache:masterfrom
Conversation
Bring the Rust implementation somewhat up to par with the other implementations. I tried 4-5 different ways to get the "perfect" check but since trait specialization is not yet stable, I was not able to arrive at a solution I'm happy with (code was either ugly, or had runtime overhead). So for now, we avoid full message size tracking / more precise limit checking, but this is a strong step in the right direction.
|
I'll look at the cross test failures -- I can understand the ones with rust involved, the others are a bit surprising. the go-rs ones look potentially unrelated to this PR: |
|
Wild guess: the type 15 is that uuid? |
|
@Jens-G that's likely (and will try to chase this down next week when I have more time) -- but I am trying to understand if this failure is pre-existing on trunk, so I will try to reproduce this locally without my changes, first |
|
@Jens-G I confirmed I can reproduce the same failures (for go,rs) on the master branch so it's unlikely to be affected by my PR. Do we have a tracking ticket for that? I can look into that at some point, separately, but perhaps doesn't make sense to block this PR on that fix? |
|
Submitted a separate PR for the cross tests - they were broken on master: #3179 |
Bring the Rust implementation somewhat up to par with the other implementations. I tried 4-5 different ways to get the "perfect" check but since trait specialization is not yet stable, I was not able to arrive at a solution I'm happy with (code was either ugly, or had runtime overhead).
So for now, we avoid full message size tracking / more precise limit checking, but this is a strong step in the right direction.
Apologies for the large PR - but most of it is boilerplate (configuration) or semi-exhaustive tests.
[skip ci]anywhere in the commit message to free up build resources.