Skip to content

Conversation

@dgageot
Copy link
Member

@dgageot dgageot commented Jan 8, 2026

Add proper synchronization for global telemetry variables and Client.version field to prevent races between:

  • SetGlobalTelemetryVersion writing globalTelemetryVersion
  • EnsureGlobalTelemetryInitialized reading globalTelemetryVersion
  • SetGlobalTelemetryVersion writing Client.version
  • performHTTPRequest and createEvent reading Client.version

Changes:

  • Add globalMu RWMutex to protect globalTelemetryVersion and globalTelemetryDebugMode
  • Add setVersion/getVersion methods to Client for thread-safe version access
  • Pass version as parameter to performHTTPRequest to avoid deadlock

Assisted-By: cagent

Add proper synchronization for global telemetry variables and Client.version
field to prevent races between:
- SetGlobalTelemetryVersion writing globalTelemetryVersion
- EnsureGlobalTelemetryInitialized reading globalTelemetryVersion
- SetGlobalTelemetryVersion writing Client.version
- performHTTPRequest and createEvent reading Client.version

Changes:
- Add globalMu RWMutex to protect globalTelemetryVersion and globalTelemetryDebugMode
- Add setVersion/getVersion methods to Client for thread-safe version access
- Pass version as parameter to performHTTPRequest to avoid deadlock

Assisted-By: cagent
@dgageot dgageot requested a review from a team as a code owner January 8, 2026 12:14
@krissetto krissetto merged commit ff97768 into docker:main Jan 8, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants