k6 icon indicating copy to clipboard operation
k6 copied to clipboard

Issue with gRPC in k6 v1.0.0

Open ClaytonAB opened this issue 6 months ago • 6 comments
trafficstars

Brief summary

Issue with gRPC moving from v0.47.0 to v1.0.0.

k6 version

v1.0.0

OS

macOS

Docker version and image (if applicable)

Sample docker server located at git clone https://github.com/AccelByte/matchmaking-function-grpc-plugin-server-go.git.

  • Setup instructions - https://docs.accelbyte.io/gaming-services/services/extend/override/matchmaking/get-started-matchmaking-v2/
  • patch for envoy:

diff.patch

sample-project.zip

Steps to reproduce the problem

  • Create a test that connects to a gRPC server using v0.47.0 and the experimental gRPC module import { Client, Stream } from 'k6/experimental/grpc'; xk6 build v0.47.0 --with github.com/grafana/xk6-grpc
  • Test and the script is able to connect to the server and load test completes
  • Upgrade to the latest version of k6 v1.0.0 and the gRPC now included in the core import grpc from 'k6/net/grpc'; k6 v1.0.0 (go1.24.2, darwin/arm64)
  • Observe: Now unable to connect to the gRPC server

Expected behaviour

I would expect that connecting to the gRPC service would still work.

Actual behaviour

Instead of being able to connect k6 returns the following error: ERRO[0060] GoError: context deadline exceeded: connection error: desc = "error reading server preface: http2: failed reading the frame payload: %!w(<nil>), note that the frame header looked like an HTTP/1.1 header"

ClaytonAB avatar May 08 '25 16:05 ClaytonAB