in_opentelemetry: preserve signed 64-bit log body integers - #12419
Conversation
Signed-off-by: Eduardo Silva <eduardo@chronosphere.io>
Signed-off-by: Eduardo Silva <eduardo@chronosphere.io>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 8 included reviews per hour; 7 remain after this review. 📝 WalkthroughWalkthroughThe OpenTelemetry log packer now preserves 64-bit integer values. A new integration test verifies boundary values through the protobuf input path. ChangesOpenTelemetry int64 log preservation
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix Merge Risk: ⚪ Minimal · up to The signed 64-bit log-body preservation change has no identified actionable risk and is ready to merge after normal checks. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 2📝 Generate docstrings 💡
🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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. |
OTLP Protobuf log bodies store integer values as signed 64-bit values, but the input passed them through a 32-bit
intbefore MessagePack encoding. For example,9007199254740993became1before reaching any output.Change the packing helper parameter to
int64_t. The integration regression sends INT64_MIN, values outside the signed 32-bit range, a value above JavaScript's exact integer range, and INT64_MAX through the OpenTelemetry input/output pipeline and checks the exact returned values.Extracted from #12418 so the intake correction can be reviewed and merged independently. This PR contains only the input fix and its regression test; it does not require the VIVO exporter changes or modify bundled libraries.
Validation on Linux, based on current master
a803d7914:Commands run from the separate worktree; the Python interpreter reuses the existing integration environment:
No configuration changes or bundled-library changes. Existing values within the signed 32-bit range retain their behavior; larger signed 64-bit bodies now preserve their exact value.
Summary by CodeRabbit