Skip to content

Logging, Error Handling, and Operational Acceptance

The platform MUST assign a unique run ID for each recording session and log at minimum: robot device ID, hardware/software versions, request timestamps, action types, HTTP status codes, recorder status codes, target disk directories, total byte counts, MCAP start and end timestamps, required Topic message counts, and approved cleanup execution results. Logs MUST NOT contain tokens, Authorization headers, SSH passwords, or full business request bodies.

Symptom / ObservationAction / Resolution
HTTP 400 / 411 / 413Correct JSON formatting, strictly enforce 4-field metadata rules, or add missing Content-Length; the request did not reach the ROS 2 service layer
HTTP 401Verify token injection, rotation policies, and client process environment variables; MUST NOT output credentials in log files
HTTP 502 / ROS 2 TimeoutCommand execution outcome is indeterminate; check active recording directories, completed directories, and recorder state before attempting any retry of start
Back-to-back start calls or third-party client interventionSuspend automation pipelines and confirm robot-level control authority; in-process locks do NOT provide distributed mutual exclusion
stop succeeds but list does not immediately show the directoryWait for directory relocation from mcap_recording to mcap_recorded; if the timeout expires, preserve host system logs for analysis
File transferred successfully but parsing failsDo NOT delete remote source files; verify file integrity, MCAP format version, schema, and serialization definitions

Minimum operational acceptance criteria for production integration:

  1. Read-only topic connectivity verified.
  2. All invalid/missing token requests strictly rejected (HTTP 401).
  3. Complete startstoplist workflow passes using a unique run ID.
  4. Exact directory file transfer via SSH/SFTP succeeds.
  5. MCAP start/end timestamps, Topics, and message counts pass validation.
  6. Disk space alerts are properly visible and monitored.
  7. Cleanup of exact directories executes ONLY after explicit, separate authorization.
  8. System recovers normally following bridge restarts and token rotations.