Repository navigation
fix(microservices): drop pre-identified tlm for unmapped targets - #4080
Conversation
- Keep the header identity and drop packets whose target is not in tlm_target_names, instead of re-identifying them by content, which could publish them under a mapped packet's name - Warn once per target/packet via @unmapped_tlm_warned so replaying multi-target logs does not flood the log - Document the mapping requirement in the Preidentified Protocol docs Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## fix/interface-tlm-identification #4080 +/- ##
====================================================================
- Coverage 80.16% 80.16% -0.01%
====================================================================
Files 901 901
Lines 68449 68428 -21
Branches 2714 2714
====================================================================
- Hits 54874 54853 -21
Misses 12906 12906
Partials 669 669
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
7c946d4
into
fix/interface-tlm-identification



Summary
Stacked on #4000. Changes how
InterfaceMicroservice#handle_packet(Ruby and Python) handles a pre-identified packet whose target isn't mapped to the interface.In #4000 such a packet has its identity cleared and is identified by content against the mapped targets. That has two problems:
UNKNOWN UNKNOWN.UNKNOWNis always intlm_target_enabled, so these packets now reach the stream, where onmainthey were dropped.Packet#identify?).On
main, unmapped pre-identified packets were already dropped silently by thetlm_target_enabledcheck beforeTelemetryTopic.write_packet. This PR keeps that outcome but makes it explicit:Dropping telemetry for unmapped target: TGT PKTonce per target/packet pair, so replaying a multi-target COSMOS 4 log doesn't flood the log.protocols.mdnow says every target in the packet headers must be mapped withMAP_TARGET/MAP_TLM_TARGET.Since unmapped packets end up dropped as before, no upgrade note is needed.
Test plan
bundle exec rspec spec/microservices/interface_microservice_spec.rb spec/topics(76 examples, 0 failures)uv run pytest test/microservices/test_interface_microservice.py test/topics(72 passed)ruff check/ruff format --check🤖 Generated with Claude Code