You are viewing an older version of this section. View current production version.



MemSQL Helios does not support this command.

Checks the provided report for issues.


Available Checkers:

|                ID                 |                                   DESCRIPTION                                    |
| blockedQueries                    | Checks for processlist entries that are blocked from running, which can cause    |
|                                   | cascading failures within the cluster                                            |
| chronydDisabled                   | Checks that `chronyd` service is disabled                                        |
| collectionErrors                  | Checks for errors that occurred during distributed collection                    |
| columnstoreSegmentRows            | Checks if variable 'columnstore_segment_rows' is same on all memsql nodes in     |
|                                   | the cluster. This subtle misconfiguration can cause problems when partitions are |
|                                   | copied between nodes of differing configuration. Having the merger run to change |
|                                   | segment sizes during a copy consumes additional resources which can cause high   |
|                                   | latency in the copy operation.                                                   |
| cpuFeatures                       | Checks if host CPUs have SSE4.2 and AVX2 instructions                            |
| cpuFreqPolicy                     | Checks that all CPUs have power save disabled and turbo mode enabled             |
| cpuHyperThreading                 | Checks that all CPUs have hyperthreading enabled                                 |
| cpuMemoryBandwidth                | Checks CPU-memory bandwidth and latency                                          |
| cpuModel                          | Checks if CPU model is the same on all hosts in the cluster. This                |
|                                   | misconfiguration can cause clustering heartbeats to malfunction.                 |
| defaultVariables                  | Check for distributed DDL timeouts, keepalive and heartbeat settings different   |
|                                   | from default                                                                     |
| defaultWorkloadManagement         | Checks for workload management settings different from the defaults              |
| defunctProcesses                  | Check for any defunct processes on a host                                        |
| delayedThreadLaunches             | Check to see if there were any delayed thread launches                           |
| detectCrashStackTraces            | Detect presence of dmp.stack files to aid in identification of memsqld crashes   |
| disconnectedReplicationSlaves     | Check to detect disconnected replication slaves                                  |
| diskUsage                         | Checks free disk space.                                                          |
| duplicatePartitionDatabase        | Check for duplicate partitions in cluster                                        |
| explainRebalancePartitionsChecker | Checks if output of EXPLAIN REBALANCE PARTITIONS collector is nil                |
| failedBackgroundThreadAllocations | Checks the MemSQL nodes' tracelogs for failed background thread allocations      |
| failedCodegen                     | Checks for recent codegen-related errors in tracelogs                            |
| failureDetectionOn                | Check if failure detection is enabled on MemSQL nodes                            |
| filesystemType                    | Check if MemSQL node has its data on a supported filesystem                      |
| interpreterMode                   | Check that interpreter_mode is set correctly                                     |
| kernelVersions                    | Checks if there are consistent kernel versions on all hosts                      |
| leafAverageRoundtripLatency       | Check for abnormal values of Average_Roundtrip_Latency_ms for each online leaf   |
| leafPairs                         | Checks that leaf availability groups are distributed on different hosts          |
| leavesNotOnline                   | Check for leaves that are not online                                             |
| longRunningQueries                | check for queries in process list that are running for more than 10 minutes      |
| mallocActiveMemory                | Check malloc_active_memory use from `SHOW STATUS EXTENDED`                       |
| maxMapCount                       | Check if vm.max_map_count is configured correctly                                |
| maxMemorySettings                 | Check maximum memory settings                                                    |
| maxOpenFiles                      | Check if open files limit for memsqld process is configured correctly            |
| memsqlVersions                    | Check if MemSQL versions are consistent on all nodes.                            |
| minFreeKbytes                     | Check if vm.min_free_kbytes is configured correctly                              |
| missingClusterDb                  | Checks that each MemSQL node has a `cluster` database. A nonexistent cluster     |
|                                   | database indicates the replication tree for the cluster database is broken which |
|                                   | requires immediate intervention.                                                 |
| numaConfiguration                 | Checks numa binding configuration                                                |
| offlineAggregators                | Check for offline aggregators in SHOW AGGREGATORS                                |
| orchestratorProcesses             | Notes any orchestrator processes currently running                               |
| orphanDatabases                   | Checks the cluster for orphan databases                                          |
| orphanTables                      | Checks the cluster for orphan tables                                             |
| outOfMemory                       | Checks dmesg for out-of-memory events                                            |
| partitionsConsistency             | Checks that all partition start sectors are consistent                           |
| pendingDatabases                  | Check for databases in the 'pending' state                                       |
| queuedQueries                     | Checks for processlist entries that are queued from running                      |
| readyQueueSaturated               | Checks if ready queue is saturated by parsing max_connection_threads in `SHOW    |
|                                   | VARIABLES` and MemSQL tracelogs                                                  |
| replicationPausedDatabases        | Checks for databases in 'replication paused' state                               |
| runningAlterOrTruncate            | Checks processlist for a running Alter table or Truncate table, which can block  |
|                                   | other clustering operations                                                      |
| runningBackup                     | Check to detect if there is a backup running in the cluster                      |
| secondaryDatabases                | Checks for the presence of secondary databases                                   |
| syncCnfVariables                  | Check if sync variables have been set in the memsql.cnf file. These settings are |
|                                   | silently ignored by memsql-server.                                               |
| tracelogOOD                       | check the count of OOD messages in tracelog                                      |
| tracelogOOM                       | check the count of OOM messages in tracelog                                      |
| transparentHugepage               | Checks system transparent hugepage settings                                      |
| unkillableQueries                 | Checks for processlist entries with state 'Aborted' or 'Killed.' Aborted or      |
|                                   | Killed entries with a sufficient age (check 'TIME:') is typically indicative     |
|                                   | of an unkillable query. An unkillable query can block other operations from      |
|                                   | proceeding and lead to cascading failures.                                       |
| unmappedMasterPartitions          | Checks if there are any master partitions unmapped in the cluster. An unmapped   |
|                                   | master partition is typically indicative of a master partition which has been    |
|                                   | dropped using DROP PARTITION or the node hosting the partition is offine (e.g.   |
|                                   | the hosting leaf node crashed and remains offline). If a database contains an    |
|                                   | unmapped master partition that database will be offline.                         |
| unrecoverableDatabases            | Checks for unrecoverable databases in the cluster                                |
| userDatabaseRedundancy            | Check for missing user database redundancy                                       |
| validLicense                      | Check that the license is valid and set correctly                                |
| validateSsd                       | Checks which hosts have SSD                                                      |
| versionHashes                     | Check that the MemSQL version of each node is an official release version        |
| vmOvercommit                      | Check virtual memory overcommit settings                                         |


# Run a single checker
memsql-report check --only orchestratorProcesses

# Run pre-MemSQL install environment checks only. Use this command with memsql-report collect --validate-env
memsql-report check --validate-env

# Exclude specific checkers
memsql-report check --exclude minFreeKbytes --exclude maxOpenFiles

  memsql-report check [flags]

      --all                         Check everything
      --exclude VALUES              Exclude the specified checkers
  -h, --help                        help for check
      --include VALUES              Include the specified checkers
      --include-performance         Include checkers that create load on cluster (not recomended for active clusters)
      --only VALUES                 Only run the specified checkers
  -i, --report-path ABSOLUTE_PATH   Read the report from the specified tarball or directory, if you do not already have a report please run memsql-report collect to generate a report
      --show-skips                  Display more information about skipped checks
      --validate-env                Run checkers that do not require MemSQL installation (performance checkers included)

Global Flags:
      --backup-cache FILE_PATH              File path for the backup cache
      --cache-file FILE_PATH                File path for the Toolbox node cache
  -c, --config FILE_PATH                    the Toolbox configuration file path
  -j, --json                                Enable JSON output
      --parallelism POSITIVE_INTEGER        Maximum amount of operations to be run in parallel
      --runtime-dir DIRECTORY_PATH          where to put Toolbox runtime data
      --ssh-max-sessions POSITIVE_INTEGER   Maximum number of SSH sessions to open per host, must be at least 3
      --state-file FILE_PATH                the Toolbox state file path
  -v, --verbosity count                     Increase logging verbosity: valid values are 1, 2, 3. Usage -v=count or --verbosity=count
  -y, --yes                                 Enable non-interactive mode and assume the user would like to move forward with the proposed actions by default


This command is interactive unless you use either the --yes or --json flags to override interactive behavior.