The GitHub Actions job "Validate and test" on 
pekko-grpc.git/fastfuture-completed-futures has succeeded.
Run started by GitHub user pjfanning (triggered by pjfanning).

Head commit for run:
b664d4610a9040d76959dfa2fc052a513446aa6a / PJ Fanning 
<[email protected]>
Benchmark and test FastFuture completion of marshalling futures

Motivation:
The FastFuture change is only observable as a threading/scheduling
property: the returned futures are already completed, so transforms
chained onto them run directly instead of being scheduled on an
ExecutionContext. Nothing asserted or measured that.

Modification:
Add scaladsl GrpcMarshallingSpec, which asserts that unmarshal of a
strict entity (both success and failure), unmarshalStream,
GrpcExceptionHandler.from and the ServiceHandler notFound /
unsupportedMediaType responses are already completed, and that a
transform chained onto each still completes when given an
ExecutionContext that throws if anything is scheduled on it.

Add GrpcMarshallingBenchmark.unmarshallStrictChained, covering the
unmarshal-then-transform chain that generated unary handlers use, and
ScalaUnaryHandlerBenchmark.oldStyleUnaryStrictRequestProcessingFastImplementation,
a variant whose service implementation returns an already completed
FastFuture so the whole handler chain can run directly.

Result:
The intent of the change is pinned by tests, and the benchmarks show
where the saved dispatches actually come from.

Tests:
- sbt runtime/test - 139 succeeded, 0 failed
- sbt checkCodeStyle - success
- sbt "benchmarks/Jmh/run -f 2 -wi 5 -i 5 ..." - see PR body

References:
Refs #862

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

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to