apache / apache/pulsar-client-go

Incorrect implementation of condition variable

Open
#1,438 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
745
Forks
389
Avg merge
3d 20h
Merged PRs (30d)
3

Description

https://github.com/apache/pulsar-client-go/blob/master/pulsar/internal/channel_cond.go#L60

Why would a condition variable need to return a value by default?

This will cause the CPU usage of the producer process to spike during a failure.

Contributor guide

Open the contributing guide

Research direction

Read pulsar/internal/channel_cond.go around line 60 and inspect how the condition variable behaves when the producer encounters a failure. Reproduce or observe the failure path, then verify that the condition variable does not return a value by default or cause a producer CPU spike; run the relevant existing tests if available.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
distributed-systems
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.