Skip to content

honeycombexporter.TestEmptyNode() is unstable #272

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
tigrannajaryan opened this issue Jun 2, 2020 · 5 comments
Closed

honeycombexporter.TestEmptyNode() is unstable #272

tigrannajaryan opened this issue Jun 2, 2020 · 5 comments
Assignees
Labels
bug Something isn't working

Comments

@tigrannajaryan
Copy link
Member

See https://app.circleci.com/pipelines/github/open-telemetry/opentelemetry-collector-contrib/991/workflows/3099dddd-0525-46c2-b781-aef9b0d88bc5/jobs/1932/steps

==================

WARNING: DATA RACE

Write at 0x00000165f518 by goroutine 98:

  github.com/honeycombio/libhoney-go.Init()

      /home/circleci/go/pkg/mod/github.com/honeycombio/[email protected]/libhoney.go:222 +0x202

  github.com/open-telemetry/opentelemetry-collector-contrib/exporter/honeycombexporter.newHoneycombTraceExporter()

      /home/circleci/project/exporter/honeycombexporter/honeycomb.go:94 +0x1c6

  github.com/open-telemetry/opentelemetry-collector-contrib/exporter/honeycombexporter.(*Factory).CreateTraceExporter()

      /home/circleci/project/exporter/honeycombexporter/factory.go:55 +0x73

  github.com/open-telemetry/opentelemetry-collector-contrib/exporter/honeycombexporter.testTraceExporter()

      /home/circleci/project/exporter/honeycombexporter/honeycomb_test.go:82 +0x3a5

  github.com/open-telemetry/opentelemetry-collector-contrib/exporter/honeycombexporter.TestEmptyNode()

      /home/circleci/project/exporter/honeycombexporter/honeycomb_test.go:278 +0x3fd

  testing.tRunner()

      /usr/local/go/src/testing/testing.go:991 +0x1eb



Previous read at 0x00000165f518 by goroutine 52:

  github.com/honeycombio/libhoney-go.TxResponses()

      /home/circleci/go/pkg/mod/github.com/honeycombio/[email protected]/libhoney.go:511 +0x6b

  github.com/open-telemetry/opentelemetry-collector-contrib/exporter/honeycombexporter.(*honeycombExporter).RunErrorLogger()

      /home/circleci/project/exporter/honeycombexporter/honeycomb.go:287 +0x5b



Goroutine 98 (running) created at:

  testing.(*T).Run()

      /usr/local/go/src/testing/testing.go:1042 +0x660

  testing.runTests.func1()

      /usr/local/go/src/testing/testing.go:1284 +0xa6

  testing.tRunner()

      /usr/local/go/src/testing/testing.go:991 +0x1eb

  testing.runTests()

      /usr/local/go/src/testing/testing.go:1282 +0x527

  testing.(*M).Run()

      /usr/local/go/src/testing/testing.go:1199 +0x2ff

  main.main()

      _testmain.go:116 +0x337



Goroutine 52 (finished) created at:

  github.com/open-telemetry/opentelemetry-collector-contrib/exporter/honeycombexporter.(*honeycombExporter).pushTraceData()

      /home/circleci/project/exporter/honeycombexporter/honeycomb.go:121 +0xd5

  github.com/open-telemetry/opentelemetry-collector-contrib/exporter/honeycombexporter.(*honeycombExporter).pushTraceData-fm()

      /home/circleci/project/exporter/honeycombexporter/honeycomb.go:114 +0xe4

  go.opentelemetry.io/collector/exporter/exporterhelper.traceDataPusherOld.withObservability.func1()

      /home/circleci/go/pkg/mod/go.opentelemetry.io/[email protected]/exporter/exporterhelper/tracehelper.go:96 +0x129

  go.opentelemetry.io/collector/exporter/exporterhelper.(*traceExporterOld).ConsumeTraceData()

      /home/circleci/go/pkg/mod/go.opentelemetry.io/[email protected]/exporter/exporterhelper/tracehelper.go:48 +0x14a

  github.com/open-telemetry/opentelemetry-collector-contrib/exporter/honeycombexporter.testTraceExporter()

      /home/circleci/project/exporter/honeycombexporter/honeycomb_test.go:86 +0x4b2

  github.com/open-telemetry/opentelemetry-collector-contrib/exporter/honeycombexporter.TestExporter()

      /home/circleci/project/exporter/honeycombexporter/honeycomb_test.go:182 +0x1ae9

  testing.tRunner()

      /usr/local/go/src/testing/testing.go:991 +0x1eb

==================

--- FAIL: TestEmptyNode (0.02s)

    testing.go:906: race detected during execution of test

FAIL
@tigrannajaryan tigrannajaryan added the bug Something isn't working label Jun 2, 2020
@paulosman
Copy link
Member

You can assign this to me if you'd like - I'll take a look at it soon.

@tigrannajaryan
Copy link
Member Author

Thanks for looking @paulosman

@tigrannajaryan
Copy link
Member Author

tigrannajaryan commented Jun 9, 2020

@paulosman This failed again and is causing trouble for the build: https://app.circleci.com/pipelines/github/open-telemetry/opentelemetry-collector-contrib/1120/workflows/8beab1d1-0ae1-4f85-9ec6-b36b4eaba774/jobs/2600/steps

Please have a look, otherwise we will have to disable either the test or the component.

@paulosman
Copy link
Member

@tigrannajaryan Suggest we disable for now to stop problems with the build - I'll continue to debug the underlying data race issue. PR here: #305

@paulosman
Copy link
Member

@tigrannajaryan Suggest we disable for now to stop problems with the build - I'll continue to debug the underlying data race issue. PR here: #305

Actually, I was able to fix it in the exporter with help from @keitwb. I'll still look at making the dependency safe from data races, but merging that PR should unblock future build issues.

wyTrivail referenced this issue in mxiamxia/opentelemetry-collector-contrib Jul 13, 2020
There was a bug in a dependency causing non-deterministic test failures
in the honeycomb exporter due to a data race. This change refactors
RunErrorLogger to accept a channel instead of having to call methods on
libhoney directly, reducing shared usage of libhoney from multiple
goroutines.

See #272 for details.
mxiamxia referenced this issue in mxiamxia/opentelemetry-collector-contrib Jul 22, 2020
Signed-off-by: Guangming Wang <[email protected]>

Fixes a typo on the tag mapstructure of ActionKeyValue.Key
ljmsc referenced this issue in ljmsc/opentelemetry-collector-contrib Feb 21, 2022
This causes us to no longer emit missing root spans if we do not have the trace associated with the tracing headers we receive on public endpoints.
harrryr pushed a commit to harrryr/opentelemetry-collector-contrib that referenced this issue Mar 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants