Skip to content
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

[8.x](backport #42096) test: acquire lock before checking pendingRequests in controller test #42287

Merged
merged 1 commit into from
Jan 15, 2025

Conversation

mergify[bot]
Copy link
Contributor

@mergify mergify bot commented Jan 10, 2025

Proposed commit message

fix race condition in TestQueueProducerBlocksUntilOutputIsSet

controller.queueProducer will modify pendingRequests so we need to acquire a lock before checking the slice

data race:

==================
WARNING: DATA RACE
Write at 0x00c0002b02a8 by goroutine 39:
  github.com/elastic/beats/v7/libbeat/publisher/pipeline.(*outputController).queueProducer()
      github.com/elastic/beats/v7/libbeat/publisher/pipeline/controller.go:237 +0x304
  github.com/elastic/beats/v7/libbeat/publisher/pipeline.TestQueueProducerBlocksUntilOutputIsSet.func1()
      github.com/elastic/beats/v7/libbeat/publisher/pipeline/controller_test.go:229 +0x35

Previous read at 0x00c0002b02a8 by goroutine 30:
  github.com/elastic/beats/v7/libbeat/publisher/pipeline.TestQueueProducerBlocksUntilOutputIsSet.func2()
      github.com/elastic/beats/v7/libbeat/publisher/pipeline/controller_test.go:236 +0x38
  github.com/elastic/beats/v7/libbeat/publisher/pipeline.waitUntilTrue()
      github.com/elastic/beats/v7/libbeat/publisher/pipeline/testing.go:178 +0x76
  github.com/elastic/beats/v7/libbeat/publisher/pipeline.TestQueueProducerBlocksUntilOutputIsSet()
      github.com/elastic/beats/v7/libbeat/publisher/pipeline/controller_test.go:233 +0x426
  testing.tRunner()
      testing/testing.go:1690 +0x226
  testing.(*T).Run.gowrap1()
      testing/testing.go:1743 +0x44

Goroutine 39 (running) created at:
  github.com/elastic/beats/v7/libbeat/publisher/pipeline.TestQueueProducerBlocksUntilOutputIsSet()
      github.com/elastic/beats/v7/libbeat/publisher/pipeline/controller_test.go:228 +0x2f1
  testing.tRunner()
      testing/testing.go:1690 +0x226
  testing.(*T).Run.gowrap1()
      testing/testing.go:1743 +0x44

Goroutine 30 (running) created at:
  testing.(*T).Run()
      testing/testing.go:1743 +0x825
  testing.runTests.func1()
      testing/testing.go:2168 +0x85
  testing.tRunner()
      testing/testing.go:1690 +0x226
  testing.runTests()
      testing/testing.go:2166 +0x8be
  testing.(*M).Run()
      testing/testing.go:2034 +0xf17
  main.main()
      _testmain.go:81 +0x164
==================
--- FAIL: TestQueueProducerBlocksUntilOutputIsSet (0.02s)
    testing.go:1399: race detected during execution of test

Checklist

  • My code follows the style guidelines of this project
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have made corresponding change to the default configuration files
  • I have added tests that prove my fix is effective or that my feature works
  • I have added an entry in CHANGELOG.next.asciidoc or CHANGELOG-developer.next.asciidoc.

Disruptive User Impact

Author's Checklist

  • [ ]

How to test this PR locally

Related issues

Use cases

Screenshots

Logs


This is an automatic backport of pull request #42096 done by [Mergify](https://mergify.com).

…#42096)

fix race condition in TestQueueProducerBlocksUntilOutputIsSet

(cherry picked from commit 57eae3a)
@mergify mergify bot requested a review from a team as a code owner January 10, 2025 13:22
@mergify mergify bot added the backport label Jan 10, 2025
@mergify mergify bot requested review from belimawr and leehinman and removed request for a team January 10, 2025 13:22
@botelastic botelastic bot added the needs_team Indicates that the issue/PR needs a Team:* label label Jan 10, 2025
@botelastic
Copy link

botelastic bot commented Jan 10, 2025

This pull request doesn't have a Team:<team> label.

Copy link
Contributor Author

mergify bot commented Jan 13, 2025

This pull request has not been merged yet. Could you please review and merge it @kruskall? 🙏

@kruskall kruskall merged commit 5a999a7 into 8.x Jan 15, 2025
142 checks passed
@kruskall kruskall deleted the mergify/bp/8.x/pr-42096 branch January 15, 2025 00:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport enhancement needs_team Indicates that the issue/PR needs a Team:* label
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant