From fe40975cab8775dc0dd9330ffb86fdfaf0fd794b Mon Sep 17 00:00:00 2001 From: Jeremy Date: Sun, 2 Aug 2026 19:58:24 -0700 Subject: [PATCH 1/2] docs: migrate bond traffic to per-server topics Document the atomic-upgrade requirement, remapping/monitoring impact, and namespace behavior for navigation2#6309 / #6061. Signed-off-by: Jeremy --- migration/Kilted.rst | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/migration/Kilted.rst b/migration/Kilted.rst index 87a6f34bc..e5e77154c 100644 --- a/migration/Kilted.rst +++ b/migration/Kilted.rst @@ -632,6 +632,33 @@ The following table shows the performance impact of changing the bond heartbeat *Note: This table should be populated with data from issue #5784 comment. Composed CPU is for all Nav2 processes combined.* +Per-Server Bond Topics +---------------------- + +`PR #6309 `_ changes +lifecycle bond heartbeats from a single shared ``bond`` topic to a per-server +topic ``bond/`` (for example ``bond/controller_server``). +Both ``nav2::LifecycleNode::createBond()`` and the lifecycle manager use +``nav2::bond_topic_name()`` so peers stay aligned when they share a namespace. + +This removes O(N²) DDS fan-out when many managed servers are bonded: each +heartbeat is delivered only to the matching manager/server pair instead of to +every Bond subscription on a shared topic. + +**Migration notes** (atomic upgrade required): + +* Upgrade the lifecycle manager and all managed Nav2 servers together. Mixed + old/new binaries cannot form bonds because they publish and subscribe on + different topics. +* Launch remappings that targeted the old shared ``bond`` topic no longer apply. + Remap ``bond/`` (or a pattern that covers ``bond/*``) instead. +* Monitoring and diagnostic tools that subscribed to ``/bond`` (or a namespaced + ``bond``) must subscribe to ``bond/`` for each server, or to + ``bond/*`` if your tooling supports wildcards. +* Under a non-empty ROS namespace, relative topics resolve as before + (for example ``/robot/bond/controller_server`` when both peers are in + ``/robot``). + Centralize Path Handler logic in Controller Server -------------------------------------------------- From df52709902e2ce31f5c3204471fae6d1906cb033 Mon Sep 17 00:00:00 2001 From: Jeremy Date: Mon, 3 Aug 2026 14:55:00 -0700 Subject: [PATCH 2/2] docs: drop TMI migration notes for per-server bond topics Signed-off-by: Jeremy --- migration/Kilted.rst | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/migration/Kilted.rst b/migration/Kilted.rst index e5e77154c..d0f644d07 100644 --- a/migration/Kilted.rst +++ b/migration/Kilted.rst @@ -645,20 +645,6 @@ This removes O(N²) DDS fan-out when many managed servers are bonded: each heartbeat is delivered only to the matching manager/server pair instead of to every Bond subscription on a shared topic. -**Migration notes** (atomic upgrade required): - -* Upgrade the lifecycle manager and all managed Nav2 servers together. Mixed - old/new binaries cannot form bonds because they publish and subscribe on - different topics. -* Launch remappings that targeted the old shared ``bond`` topic no longer apply. - Remap ``bond/`` (or a pattern that covers ``bond/*``) instead. -* Monitoring and diagnostic tools that subscribed to ``/bond`` (or a namespaced - ``bond``) must subscribe to ``bond/`` for each server, or to - ``bond/*`` if your tooling supports wildcards. -* Under a non-empty ROS namespace, relative topics resolve as before - (for example ``/robot/bond/controller_server`` when both peers are in - ``/robot``). - Centralize Path Handler logic in Controller Server --------------------------------------------------