Skip to content

zapgrpc : Warning http2Server.HandleStreams failed to read frame - when client close #5169

@elvince

Description

@elvince

Describe the bug
During the lifetime of my application, everything is working properly.
Once I closed it, I have a "warning" in the collector:

warn zapgrpc/zapgrpc.go:191 [transport] transport: http2Server.HandleStreams failed to read frame: read tcp [::1]:4317->[::1]:64933: wsarecv: Une connexion existante a dû être fermée par l’hôte distant. {"grpc_log": true}

"Une connexion existante a dû être fermée par l’hôte distant." means "an existing connection might have been close by remote host"

Steps to reproduce
Launch the collector with the config below.

Launch a .net console project with in main:

var serviceName = "MDS.TestSerilog.Test";
              var serviceVersion = "1.0.0";
              // Configure important OpenTelemetry settings and the console exporter
              using var tracerProvider = Sdk.CreateTracerProviderBuilder()
                  .AddSource(serviceName)
                  .SetResourceBuilder(
                      ResourceBuilder.CreateDefault()
                          .AddService(serviceName: serviceName, serviceVersion: serviceVersion))
                  .AddConsoleExporter()
                  .AddOtlpExporter(opt =>
                  {
                      opt.Endpoint = new Uri("http://localhost:4317");
                  })
                  .Build();

              var MyActivitySource = new ActivitySource(serviceName);

              using var activity = MyActivitySource.StartActivity("SayHello");
              activity?.SetTag("foo", 1);
              activity?.SetTag("bar", "Hello, World32!");
              activity?.SetTag("baz", new int[] { 1, 2, 3 });

What did you expect to see?
As my application is closing properly I shouldn't see any warning on the collector side

What did you see instead?
in the log I'm seeing a warning:
" zapgrpc : Warning http2Server.HandleStreams failed to read frame"

What version did you use?
Version: 0.48 Windows

What config did you use?
Config:

  otlp:
    protocols:
      grpc:

# Configure exporters
exporters:
  # Export prometheus endpoint
  prometheus:
    endpoint: "0.0.0.0:8889"

  # log to the console
  logging:

  # Export to zipkin
 #zipkin:
 #  endpoint: "http://zipkin-all-in-one:9411/api/v2/spans"
 #  format: proto

  # Export to a file
  file:
    path: C:\Formation\ElasticSearch\otelcol_0.48.0_windows_amd64.tar\otelcol_0.48.0_windows_amd64\logs.json

# Configure processors (batch, sampling, filtering, hashing sensitive data, etc.)
# https://opentelemetry.io/docs/collector/configuration/#processors
processors:
  batch:

# Configure pipelines. Pipeline defines a path the data follows in the Collector
# starting from reception, then further processing or modification and finally
# exiting the Collector via exporters.
# https://opentelemetry.io/docs/collector/configuration/#service
# https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/design.md#pipelines
service:
  pipelines:
    traces:
      receivers: [otlp]
      processors: [batch]
      exporters: [logging, file]
    metrics:
      receivers: [otlp]
      processors: [batch]
      exporters: [logging, file]
    logs:
      receivers: [otlp]
      processors: [batch]
      exporters: [logging, file]

Environment
OS: Windows

Thanks,

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinggood first issueGood for newcomershelp wantedGood issue for contributors to OpenTelemetry Service to pick up

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions