Repository navigation
Compute the DSM base hash at startup - #12879
gh-worker-dd-mergequeue-cf854d[bot] merged 1 commit into
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
Startup recalculation can overwrite a concurrent agent container-hash update. Later discovery responses with the same header do not repair the stale base hash, leaving DSM pathways without the current container identity.
🤖 Bits Code Review · Commit 4fd5c4d
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4fd5c4dd86
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
This comment has been minimized.
This comment has been minimized.
🟢 Java Benchmark SLOs — All performance SLOs passed
PR vs. master results
Commit: Load and DaCapo benchmarks can be triggered manually in the GitLab pipeline. Results will appear in the Benchmarking Platform UI after completion. |
6803329 to
3228225
Compare
johannbotha
left a comment
There was a problem hiding this comment.
🙇🙇 Thanks for the fix Rey!
Set the base hash after each agent discovery attempt, even if /info failed or sent no container tags hash, so DSM pathway hashes include service and env with agents such as the Lambda extension. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ffe6097 to
1bfedbd
Compare
|
/merge |
|
View all feedbacks in Devflow UI.
The expected merge time in
|
|
/merge |
|
View all feedbacks in Devflow UI.
PR already in the queue with status in_progress |


What Does This Do
After each agent discovery attempt, if nothing has set the base hash yet, computes it without a container tags hash. So DSM pathway hashes include service and env even when the agent never sends
Datadog-Container-Tags-Hash, or when/infois not up yet.Motivation
#9282 removed the startup call that set the base hash. Since then
BaseHashstarts at 0 and is set only when the agent response carriesDatadog-Container-Tags-Hash, or when Tomcat or Spring Boot adds a process tag. The Lambda extension never sends that header. So in Lambda, every Java producer gets the same pathway hash for a topic in every env, and DSM credits all their pathways to one arbitrary Java service. We saw this in the serverless e2e data-streams suite: four Java Lambda clients produced identical hashes in two different envs.Additional Notes
doDiscovery, not only on a successful/info, because the Lambda extension's/infocan come up after the tracer first calls it. Until then, pathway contexts are still created and propagated, so their hashes must already include service and env.discoverIfOutdated, so this does not race with the container tags hash path. If/infolater returns a container tags hash, that path recalculates the base hash as before.BaseHash.calcfrom it.DataStreamsContextHTTP edge tags and the gRPC server edge tags).DD_DBM_INJECT_SQL_BASE_HASHand process tag propagation enabled, DBM now gets a base hash from agents that send no container tags hash. If a container tags hash arrives later, the value changes once.Jira ticket: APMSVLS-673
🤖 Generated with Claude Code