launch_ros_PID collisions in multi-host systems
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 155
- Forks
- 182
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 6
Description
Bug report
The launch_ros node uses the PID as a suffix to generate a 'unique' node name, but this is insufficient in multi host systems. I use docker swarm containers across a number of hosts with many name collisions:

Required Info:
- Operating System: U20.04
- Installation type: Binary (mostly...)
- Version or commit hash: Foxy
- DDS implementation: FAST_RTPS
- Client library (if applicable): N/A
Steps to reproduce issue
Launch ROS nodes on multiple hosts at system startup, or via a docker swarm.
Expected behavior
ros2 node list should have no warnings.
Actual behavior
WARNING: Be aware that are nodes in the graph that share an exact name, this can have unintended side effects.
Additional information
I wonder if we can simply use a random alpha-numeric suffix instead?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the launch_ros node-name generation that appends the process PID, then reproduce the collision with nodes launched across multiple hosts or Docker Swarm containers. Compare the resulting names with the expected behavior and define completion as eliminating duplicate node names and the warnings from ros2 node list in that scenario.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- distributed-systems, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100