Repository navigation
Conversation
Replace MountNode.node_base and MountNode.base_namespace with a per-tag map<string, MountSeen> seen that pairs ImageTagTimes with base_namespace, keeping ImageTagTimes and NodeBase free of mount-specific fields.
a92e532 to
2c24468
Compare
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.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2c24468a55
ℹ️ 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".
|
|
||
| message MountNode { | ||
| NodeBase node_base = 1; | ||
| reserved 1, 6; |
There was a problem hiding this comment.
Preserve legacy mount fields during the rollout
When a receiver generated from this schema processes payloads from any already-deployed sender, fields 1 (node_base) and 6 (base_namespace) are now only unknown fields, so the receiver cannot access the mount's image-tag timestamps or namespace membership. Conversely, older receivers ignore the new field 7. This makes mixed-version agent/backend deployments silently lose mount metadata; retain the legacy fields as deprecated and support or dual-write both representations until old senders and receivers have aged out.
Useful? React with 👍 / 👎.
What does this PR do?
Replaces
MountNode.node_baseandMountNode.base_namespacewithmap<string, MountSeen> seen, whereMountSeenpairsImageTagTimeswithbool base_namespace. Regenerates the Go protobuf, vtproto, and Java bindings for the updated schema.Motivation
A mount can belong to the base mount namespace in one version of a workload and only appear in a secondary mount namespace (for example, entered via
setnsorunshare) in another. A single boolean onMountNodeconflates versions that share the same mount entry. PairingImageTagTimeswithbase_namespaceper image tag inMountSeenrecords base-namespace membership per version while keepingNodeBaseandImageTagTimesfree of mount-specific fields for all other node types.Additional Notes
Fields
1(node_base) and6(base_namespace) onMountNodeare reserved so wire tags are not reused.Describe how to test/QA your changes
Regenerated the Go protobuf, vtproto, and Java bindings from
proto/cws/dumpsv1/activity_dump.proto. End-to-end encoding and decoding are exercised by the companion Agent PR (DataDog/datadog-agent#58006).