Skip to content

Re-attribute action faults raised before DDS discovery resolves #467

Description

@bburda

Summary

When an action aborts before the action_status_bridge can resolve the action server's node FQN (slow or flaky DDS discovery), the fault is reported immediately using the action interface name as the source. Reporting the fault on time is intentional (freeze-frame / snapshot timing is tied to the first CONFIRMED). But the fault then cannot be re-attributed to the server node entity: reporting_sources is append-only on the FaultManager side, and the per-entity /faults scope filter (fault_in_source_scope) is strict-AND, so the provisional action-name source permanently keeps the fault out of the server node entity.

Proposed solution (optional)

Add a way to supersede a provisional reporting source. For example, an optional supersedes_source_id field on ReportFault, with the FaultManager removing the old source when the new one is reported. The bridge would then report immediately on the action-name fallback (fault and snapshot on time) and, once the FQN resolves, re-report under the FQN with supersedes_source_id set to the action name, ending with reporting_sources = {FQN} so the fault resolves to the server entity.

Additional context (optional)

In the action_status_bridge the reporter source is fixed at the first report (server FQN if discovery resolved, otherwise the action name) and not re-attributed, precisely because of the append-only + strict-AND constraints above.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions