Skip to content

Sporadic failure of OtlpGrpcExporterRetryIntegrationTests.StatusCodes test #3310

@dbarker

Description

@dbarker

Describe your environment
main at b4328c0

Steps to reproduce

  1. build with WITH_OTLP_RETRY_PREVIEW=ON
  2. run the otlp grpc exporter test

What is the expected behavior?
test always passes

What is the actual behavior?

test sometimes fails.

Note: Google Test filter = */OtlpGrpcExporterRetryIntegrationTests.StatusCodes/*
[==========] Running 40 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 40 tests from StatusCodes/OtlpGrpcExporterRetryIntegrationTests
[ RUN      ] StatusCodes/OtlpGrpcExporterRetryIntegrationTests.StatusCodes/0
Error:  File: /home/runner/work/opentelemetry-cpp/opentelemetry-cpp/exporters/otlp/src/otlp_grpc_client.cc:241 [OTLP GRPC Client] ERROR: Export trace span(s) failed with status_code: "14" error_message: "failed to connect to all addresses; last error: UNKNOWN: ipv4:127.0.0.1:4317: Failed to connect to remote host: Connection refused"
Error:  File: /home/runner/work/opentelemetry-cpp/opentelemetry-cpp/exporters/otlp/src/otlp_grpc_exporter.cc:138 [OTLP TRACE GRPC Exporter] ERROR: Export 1 trace span(s) error: 1
/home/runner/work/opentelemetry-cpp/opentelemetry-cpp/exporters/otlp/test/otlp_grpc_exporter_test.cc:553: Failure
Expected equality of these values:
  expected_attempts
    Which is: 5
  service.request_count_
    Which is: 0

[  FAILED  ] StatusCodes/OtlpGrpcExporterRetryIntegrationTests.StatusCodes/0, where GetParam() = (true, { 1 }, 5) (416 ms)

Additional context
There is a race condition between the main test thread and grpc server thread. The main thread can call shutdown before the server is up and able to process messages.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingtriage/acceptedIndicates an issue or PR is ready to be actively worked on.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions