Join the MemSQL Community Today
Get expert advice, develop skills, and connect with others.



MemSQL Helios does not support this command.

Checks the provided report for issues.


Checks the provided report for issues.

Available Checkers:

|                ID                 |                                   DESCRIPTION                                    |
| attachRebalanceDelay              | Check that attachRebalanceDelay is not set to 86400                              |
| 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.                                                   |
| consistentMaxMemory               | Check if maximum_memory setting is consistent across all leaves and aggregators  |
| 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                                  |
| diskBandwidth                     | Checks disk read, write and sync read bandwidth                                  |
| 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                  | For each sync variable that is set in the memsql.cnf file, confirm that its      |
|                                   | value is equal to the runtime value in 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]

      --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, run 'memsql-report collect' to generate one
      --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                    Toolbox configuration file path
      --disable-spinner                     Disable the progress spinner, which some terminal sessions/environments may have issues with
  -j, --json                                Enable JSON output
      --parallelism POSITIVE_INTEGER        Maximum number of operations to run in parallel
      --runtime-dir DIRECTORY_PATH          Where to store 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                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.