Troubleshooting With NuoDB Command

If you require assistance from NuoDB Support, it may be necessary to provide diagnostic information using NuoDB Command (nuocmd). To collect diagnostic information related to your NuoDB deployment, and generate a support package, there are several commands you may execute.

Collecting Diagnostics

Using the nuocmd command line interface, the following commands are used to extract information:

The commands introduced are issued using NuoDB Command (nuocmd). For more information on NuoDB Command and other command line tools, see Command Line Tools.
Before executing commands, type bash in the terminal command window and press the enter key; this enables the auto-completion of commands, helping you confirm that commands are correct before executing them.

get diagnose-info

This command collects admin logs, admin configuration, system binaries, and cores in a single zip file.

Arguments

--output-dir <OUTPUT_DIR>

The directory in which to store the diagnose information collected. If this parameter is not specified, permission to write to the directory where you executed the command is required.

--no-pack

Do not pack all diagnose information collected into a single ZIP file.

--include-cores

Whether to include cores from engine processes.

Example

nuocmd get diagnose-info --output-dir /tmp/nuodiag --include-cores
The --output-dir parameter is optional.

get server-logs

This command creates a zip file containing the Admin Service log files in the location specified.

Arguments

--output <OUTPUT>

The output file or directory where the ZIP file (containing the server logs) is to be stored.

--dump-threads

Include a thread dump of the admin process in the ZIP file.

--unpack

Unpack the downloaded ZIP file.

Example

nuocmd get server-logs --output /tmp

get log-messages

This command displays all log messages.

Arguments

--log-options <LOG_OPTIONS [LOG_OPTIONS …​]>

The log levels and categories to enable.

--db-name <DB_NAME>

The database for which to log messages.

--start-id <START_ID>

The running process for which to log messages.

Example

nuocmd get log-messages --log-options msgs
The --log-options parameter is required. For a complete list of log parameters, see Description of Logging Categories.

get core-file

This command downloads the core file for a running database process.

Arguments

--start-id <START_ID>

The process to get a core file for.

--output <OUTPUT>

The output file or format for the output file.

--output-dir <OUTPUT_DIR>

The directory to store the core file in; the actual file path will be resolved relative to this directory.

Example

nuocmd get core-file --start-id 1 --output-dir /tmp/
To get the value for the --start-id parameter, run the nuocmd show domain command and then note the SID value displayed for the SM or TE process for which you want to generate a core file. If this parameter is not specified, permission to write to the directory where you executed the command is required.

get database-connectivity

Based on the database specified, this command provides connectivity information in JSON format, which can be read and processed for further analysis.

Arguments

--db-name <DB_NAME>

The database for which connectivity is being queried.

--with-node-ids

Database process Start IDs are displayed by default. To display database nodes instead, use --with-node-ids.

--suppress-errors

Suppress errors messages when collecting connectivity.

Example

nuocmd get database-connectivity --db-name test
{
  "0": {
    "1": {
      "lastAckDeltaInMilliSeconds": 746,
      "lastMsgDeltaInMilliSeconds": 755
    },
    "2": {
      "lastAckDeltaInMilliSeconds": 460,
      "lastMsgDeltaInMilliSeconds": 755
    },
    "3": {
      "lastAckDeltaInMilliSeconds": 860,
      "lastMsgDeltaInMilliSeconds": 755
    }
  },
  "1": {
    "0": {
    "lastAckDeltaInMilliSeconds": 802,
    "lastMsgDeltaInMilliSeconds": 794
    },
    "2": {
      "lastAckDeltaInMilliSeconds": 508,
      "lastMsgDeltaInMilliSeconds": 794
    },
    "3": {
      "lastAckDeltaInMilliSeconds": 907,
      "lastMsgDeltaInMilliSeconds": 794
    }
  },
.
.
and so on ...

show database-connectivity

Based on the database specified, this command provides connectivity information in tabulated format.

Arguments

--db-name <DB_NAME>

The database for which connectivity is being queried.

--with-node-ids

Database process Start IDs are displayed by default. To display database nodes instead, use --with-node-ids.

--last-ack-threshold <LAST_ACK_THRESHOLD>

The threshold in seconds to display time since last acknowledged (default: 5).

Example

nuocmd show database-connectivity --db-name test --with-node-ids
     1    2    3    4
1             27s
2             27s
3    ?    ?    ?    ?
4             32s

Legend:
X: node at this row does not consider node at this column a peer
?: node at this row could not be queried for connectivity information
!: node at this row does not have expected metadata for node at this column
[0-9]+[hms]: time since node at this row last heard from node at this column

Providing Diagnostic Information to NuoDB Support

The NuoDB Command commands documented in Collecting Diagnostics perform a system dump that you can send to NuoDB support for analysis.

Crash files should also be sent to support for analysis.

The following NuoDB support channels are available for all users