You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@pekko.apache.org by GitBox <gi...@apache.org> on 2026/06/21 16:37:58 UTC

[GH] (pekko-grpc/optimize/fast-negotiation-uri-match): Workflow run "Validate and test" is working again!

The GitHub Actions job "Validate and test" on pekko-grpc.git/optimize/fast-negotiation-uri-match has succeeded.
Run started by GitHub user He-Pin (triggered by He-Pin).

Head commit for run:
1054ad269d661bb34e00cfc75413b7167a69c5d0 / 虎鸣 <he...@alibaba-inc.com>
fix: add empty data check in ProtobufFrameSerializer fast path for handleUnary

Motivation:
The ProtobufFrameSerializer fast path in handleUnary directly called
deserialize(data, offset, length) without checking if the data was
sufficient to contain a frame header. When the request entity was
empty (HttpEntity.empty), data.length - FrameHeaderSize produced a
negative length (-5), bypassing the MissingParameterException that
reader.decodeSingleFrame would normally throw. This caused the
ErrorReportingSpec test "should respond with an 'invalid argument'
gRPC error status when calling an method without a request body"
to fail because the expected INVALID_ARGUMENT status was not returned.

Modification:
Add a length check before the ProtobufFrameSerializer.deserialize call:
if data.length < FrameHeaderSize, throw MissingParameterException to
match the behavior of reader.decodeSingleFrame which validates the
frame header is present before attempting to parse it.

Result:
Empty request bodies now correctly return grpc-status: 3
(INVALID_ARGUMENT) regardless of whether the ProtobufFrameSerializer
fast path or the standard decodeSingleFrame path is used.

Tests:
sbt plugin-tester-scala / Test / testOnly example.myapp.helloworld.ErrorReportingSpec
All 2 tests passed.

References: Fixes CI failure in PR #739

Report URL: https://github.com/apache/pekko-grpc/actions/runs/27910535580

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@pekko.apache.org
For additional commands, e-mail: notifications-help@pekko.apache.org