Without this logic we would not be able to route these message types unless another message type was recently sent that relies on the same metadata. That is how the issue went unnoticed.
Change RequestSplitAndRouter::get_request_frame to return &mut Self::Request instead of Option<&mut Self::Request>
This does not change functionality or fix anything but makes it easier to catch mistakes
This approach immediately panics if we pass in the wrong type which is good since it indicates an unrecoverable programmer error.
I dont think the performance regression is meaningful.
While it is a kafka benchmark it is purely benching the encoder/decoder which I didnt touch in this PR.
This PR includes 2 unrelated changes to routing:
DeleteRecords
andOffsetDelete
.RequestSplitAndRouter::get_request_frame
to return&mut Self::Request
instead ofOption<&mut Self::Request>
I dont think the performance regression is meaningful. While it is a kafka benchmark it is purely benching the encoder/decoder which I didnt touch in this PR.