Skip to main content
Start by re-running the failing command with --verbose for more detail. If you need to gather logs from every node to investigate further, see Collecting Debug Information.

rdt command not found after installing

The RPM installs RDT for the deployment user with pip install --user, which places the rdt command under ~/.local/bin. That directory isn’t always on PATH by default. Solution: add it to your PATH:
Add this to your shell profile (e.g. ~/.bashrc) to make it permanent. See Installation for other install paths and details.

SSH connection or authentication failures

A node-level command (distribute, setup, start-services, collect, clean, reset, etc.) hangs or fails with a connection or authentication error. Every node-level operation connects over SSH using the credentials from Global Options & Credentials (--user/--key/--password/--ask-password), and needs sudo access on the node once connected; see Prerequisites. Solution: verify you can connect manually with the same credentials (ssh -i <key> <user>@<node>), confirm the SSH user has passwordless (or password) sudo access on the node, and pass --user/--key or --ask-password explicitly if your local SSH defaults differ from RDT’s.

RDB module fails to start because its storage device isn’t accessible

The RDB module fails to boot, and its error log shows it couldn’t open its storage device. ls -la on the device shows it’s still owned by root:disk instead of regatta:regatta. As described in What Changes on Your Nodes, RDT changes ownership of every storage device referenced by an RDB module to regatta:regatta via a udev rule. If the path you reference in your config is a symbolic link (for example a device-mapper or multipath alias under /dev/mapper/) rather than the underlying device node itself (for example /dev/dm-*), ownership needs to end up on the real device the link resolves to, not just the link. Solution: resolve the link and fix ownership on both the link and its target:
Prefer referencing the resolved device path directly in your config instead of a symlink, so RDT’s ownership change reliably applies to the actual device.

setup warns that jemalloc wasn’t found

As described in What Changes on Your Nodes, setup looks for libjemalloc on the node (under /usr/lib64, then as a fallback via the system’s shared library cache) to wire it in as LD_PRELOAD for the SM and SNA module environments. This warning is expected and doesn’t block deployment; it’s a performance optimization, not a requirement. Solution: none needed. If you want the performance benefit, install libjemalloc on the node and re-run setup.

Cluster stays down after reset

reset stops services, clears all RegattaDB data, and restarts services, but it does not automatically reconfigure or restart the database afterward: it leaves you at the same point as right after start-services, with nothing configured or started yet. Solution: run configure and start-cluster again once reset finishes:
See RegattaDB Lifecycle for the full sequence.

A module network list fails validation

Check the reported config field and the endpoint schema. An explicit list needs at least one internal endpoint, no more than four endpoints per scope, valid IPv4 addresses, integer ports from 1 through 65535, and no duplicate (scope, ip, port) entries. All internal ports must match module.port. Use the exact endpoint field names scope, ip, and port. An empty list is not a way to restore defaults: remove network or use null. For explicit SM/SNA networks, manual core_listen_addr overrides must match the first internal IP. Manual core_system_manager_port (SM) or core_system_node_agent_port (SNA) overrides must match module.port. RDT normally generates these settings; manual overrides are not required. If an interactive edit fails validation, decline the save-anyway prompt to preserve the previous config.

A configured endpoint is unreachable

Successful schema validation means the endpoint is well-formed, not reachable. Check the hosting node’s addresses, routing and firewalls. Internal endpoints must be reachable from the cluster; external endpoints must be reachable from the intended application network. For external port mappings, confirm that the advertised port forwards to the module’s actual listening port. RDT does not configure that forwarding. Explicit module network endpoints currently support IPv4 only. Inspect operational-module endpoints with MANAGE MODULE SHOW DETAILED, SNA/node endpoints with MANAGE NODE SHOW DETAILED, and SM endpoints with MANAGE SYSMGR SHOW, using an SM connection. A saved config alone does not prove that its endpoints are registered in the running cluster. See Module commands, Node commands, and System Manager commands for the available inventory and network-modification commands and their state restrictions.

Two modules on the same node conflict on a port

Distinct advertised IP addresses do not create isolated listeners. The current runtime binds all IPv4 interfaces on each module’s listening port. Give modules on one node distinct listening ports and avoid conflicts with SM, SNA, other services, and service/debug ports. Every internal endpoint for a module must use its chosen listening port.

New endpoints do not appear after editing a config

rdt config edit and rdt config load update saved configuration only. They do not modify a running cluster’s registered network addresses. This feature covers initial registration, not live reconciliation. Do not reset or recreate an existing cluster as a troubleshooting shortcut. For an existing cluster, plan a controlled change using the SM module, node, and system-manager network commands and their state restrictions.