You are viewing an older version of this section. View current production version.
Join the MemSQL Community Today
Get expert advice, develop skills, and connect with others.

memsql-toolbox Release Notes

2020-09-09 version 1.7.0

  • Added the memsql-admin configure-monitoring command that updates the monitoring configuration for the cluster
  • Added the memsql-admin start-monitoring and memsql-admin stop-monitoring commands to start and stop the collection of monitoring data
  • Added the memsql-report collect-and-check command that runs both collect and check reports
  • Improved the high availability functionality in the memsql-deploy setup-cluser command by pairing leaves of different hosts
  • Fixed a bug in the memsql-admin enable-high-availability command where nodes were assigned non-optimal availability groups
  • Improved the memsql-deploy upgrade command to report all precheck failures
  • Improved the memsql-deploy setup-cluster command to explain why a clean cluster is required before deploying MemSQL
  • Fixed a bug where the syncCnfVariables checker would crash in the memsql-report check command
  • Fixed a bug in the memsql-admin query command where --password was not correctly processed

2020-08-26 version 1.6.7

  • Fixed a bug where an “access denied” error would cause the memsql-deploy upgrade command to fail

2020-08-21 version 1.6.6

  • Added bash and zsh tab completion to all Toolbox commands
  • Fixed a bug in the memsql-admin query command where --password was not correctly processed
  • Improved the memsql-admin bootstrap-aggregator, memsql-admin create-node, memsql-admin set-license, memsql-deploy cluster-in-a-box, and memsql-deploy setup-cluster commands to use the license from the MEMSQL_LICENSE environment variable
  • Fixed a bug where memsql-deploy upgrade would fail due to a replicating database
  • Fixed a bug where a blob existed but couldn’t be opened in the memsql-admin backup-related commands
  • Improved logging to always include output of SQL queries
  • Fixed the error message in the memsql-deploy setup-cluster command when a host without memsql-server installed was already part of the cluster
  • Added a warning to not edit the memsql.cnf file manually
  • Added retries to sudo prompting
  • Improved the error message for the memsql-deploy upgrade command when using a tar file without specifying tar-install-dir
  • Improved the transparentHugepage checker of the memsql-report check command to not check defrag if THP is disabled

2020-08-10 version 1.6.5

  • Added the attachRebalanceDelay checker to the memsql-report check command that verifies that attachRebalanceDelay is not set to 86400
  • Fixed a bug where an error wasn’t displayed when attaching a leaf failed while executing the memsql-deploy upgrade command
  • Updated the memsql-toolbox-config register-host command to validate the --memsqlctl-path value and added the--skip-validation flag to skip this validation
  • Improved the memsql-deploy upgrade command to attempt to attach and detach a leaf under certain error conditions instead of proceeding to an offline upgrade
  • Improved the error message when an attempted SSH connection fails
  • Added the diskBandwidth checker to the memsql-report check command that checks disk read, write, and sync-read bandwidth
  • Improved the informationSchemaMvEvents checker of the memsql-report check command to order events by time
  • Added the --disable-spinner flag to all Toolbox commands to disable the progress spinner, which some terminal sessions/environments may have issues with
  • Improved the memsql-deploy setup-cluster command to suppress an error if one or more hosts did not have memsqlctl installed
  • Changed the validLicense checker of the memsql-report check command to report in units for clusters with a unit-based license
  • Added the --base-install-dir flag to the memsql-deploy setup-cluster command which sets each node’s base install directory on all hosts

2020-07-27 version 1.6.4

  • Improved the memsql-admin delete-backup command to no longer error if a backup name is listed more than once
  • Added a password prompt to all Toolbox commands as an alternative to specifying the password as a command-line argument, which would be captured in the shell’s history
  • Fixed a bug where tarball-based installations failed for remote hosts
  • Improved the descriptions of the memsql-admin delete-node, memsql-deploy uninstall, and memsql-toolbox-config unregister-host commands
  • Added the consistentMaxMemory checker to the memsql-report check command that confirms the maximum_memory setting is consistent across all leaves and aggregators
  • Added the memsql-deploy destroy-cluster command that deletes all data, deletes all MemSQL nodes, and unregisters all hosts
  • Improved the dry runs of the memsql-admin delete-node, memsql-deploy uninstall, and memsql-toolbox-config unregister-host commands
  • Improved the cluster file used by the memsql-deploy setup-cluster command to accept the case-insensitive role of a node
  • Added an --all flag to the memsql-admin describe-node command to list the details for all nodes
  • Added a --precheck-only flag to the memsql-deploy upgrade command to check if a cluster is stable and an upgrade is possible without performing an upgrade
  • Improved the memsql-admin command’s backup/restore functionality to search for a backup in a repository if one isn’t found in a cache
  • Improved the memsql-deploy upgrade command to compare the target upgrade version against the major version that is already installed
  • Changed the syncCnfVariables checker of the memsql-report check command to confirm that its value is equal to the runtime value in memsql-server

2020-07-14 version 1.6.3

  • Fixed a bug where the memsql-deploy ui command fails to run

2020-07-13 version 1.6.2

  • Added the --master-port, --leaf-port, and --bind-address flags to the memsql-deploy cluster-in-a-box command
  • Updated the memsql-deploy setup-cluster commands to not allow SSH for localhost
  • Fixed a bug where the memsql-deploy upgrade command fails when memsql-server 7.1 is already installed on a host
  • Added details as to why some Toolbox commands prompt for a sudo password
  • Added a check in the memsql-deploy upgrade command that confirms that the active memsql-server package is the one for the target version
  • Updated the memsql-deploy setup-cluster command to provide the same output with or without the --config-file flag
  • Removed the connections per node limit in the memsql-deploy upgrade command
  • Fixed a bug where SSH standard error output was sometimes discarded
  • Added a --file-path flag to the memsql-admin set-license command to allow the license to be stored in, and read from, a file
  • Updated the memsql-deploy commands to prompt for which package manager to use if both deb and rpm package managers are installed
  • Improved the version checks of the memsql-deploy upgrade command
  • Added a --skip-version-check flag to the memsql-deploy upgrade command that ignores the currently active memsql version and enables downgrading
  • Added the --role, --license, --user, --user-password, --availability-group, and --force-master flags to the memsql-admin create-node command. Refer to the memsql-admin create-node reference page for more information.
  • Improved the functionality of the collector-related flags in the memsql-report commands

2020-06-30 version 1.6.1

  • Fixed a bug where memsql-deploy setup-cluster fails when run with the --cluster-file flag

2020-06-29 version 1.6.0

  • Changed the memsql-deploy cluster-in-a-box command to bind nodes to the address 127.0.0.1 instead of 0.0.0.0
  • Changed the memsql-deploy uninstall --all-versions command to return a 0 exit code if there are no versions to uninstall
  • Added the memsql-deploy ui command that runs a web UI to install MemSQL and deploy a cluster
  • Added syncCnfVariables checker to the memsql-report check command that confirms that there are no sync variables values defined in the memsql.cnf file on a host
  • Updated the memsql-deploy cluster-in-a-box command to deduce the package format when the --file-path flag is specified
  • Added the --force-package-format flag to the memsql-deploy list-versions command that lists the versions installed by the chosen package manager
  • Fixed a bug where memsql-deploy upgrade displays an error message when attempting to upgrade to the MemSQL version that already installed and activated on the host
  • Changed the memsql-report check command to display results only for checkers that have all needed data, and list those checkers that do not
  • Updated the memsql-admin optimize command to display a message when non-uniform memory allocations for leaves are found
  • Updated the description of the memsql-admin put-file command

2020-06-15 version 1.5.5

  • Added a required --password flag to the memsql-deploy cluster-in-a-box command that sets a password for the MemSQL root user
  • Fixed a bug where the memsql-report check command crashes when the orphanTables checker does not find specific information in a report
  • Fixed a typo in the memsql-report command’s error message when it fails to detect whether memsqlctl is installed on a host
  • Fixed a bug where performance collectors were executed by default with the memsql-report collect command
  • Added support for file protocol for memsql-admin backup functionality

2020-06-03 version 1.5.4

  • Added a --force-package-format flag to the memsql-deploy uninstall command which will allow MemSQL to be uninstalled when there are both dpkg and rpm package managers found on a host
  • Fixed a bug where memsql-admin enable-high-availability fails with MemSQL version below 7.0.6
  • Added the result of ANALYZE OPTIMIZER_STATE INTO OUTFILE of the memsql-report collect command to the collector’s section of the analyzeTables report
  • Fixed a bug where memsql-report check would issue a warning on a valid distributed_keepalive_timeout value
  • Updated the memsql-deploy list-versions command to display its output more quickly
  • Displays a more specific error message when a file on a host cannot be accessed
  • Updated the output of commands that are run with -vvv to be more readable
  • Added --remote-temp-dir flag to the memsql-report collect command that allows setting a directory for storing temporary files on a host
  • Fixed a bug where a validLicense check reports a failure on a valid license

2020-05-18 version 1.5.3

  • Added analyzeTables collector to memsql-report collect that saves column and histograms recorded on each table
  • Added the ability to store a path to a license file (rather than the license itself) in the cluster configuration file used by memsql-deploy setup-cluster --cluster-file
  • Improved dmesg collector with timestamps that users can recognize and interpret
  • Fixed a bug where memsql-deploy upgrade does not show an error if the final upgrade step fails
  • Fixed a bug where memsql-deploy upgrade would hang if there were orphan databases
  • Added a --max-column-width flag to the memsql-admin query command that allows query output columns to be truncated to the specified number of characters
  • Added a --allow-duplicate-host-fingerprints flag to memsql-deploy setup-cluster and memsql-toolbox-config register-host commands that allows hosts with identical SSH host keys to be added to the cluster

2020-05-04 version 1.5.2

  • Fixed a bug where memsql-report collect hangs when collecting reports from some hosts
  • Fixed a bug where a cpuFreqPolicy check reports a failure on a valid configuration
  • Fixed a bug where the chronydStatus collector does not work for a host that does not have pgrep
  • Removed maxOpenFiles and filesystemType checks from memsql-report check --validate-env
  • Added a warning and the request for user conformation when memsql-toolbox-config register-host is run with --localhost and --host 127.0.0.1
  • Fixed a bug where memsql-deploy upgrade incorrectly estimates the disk space required to upgrade from MemSQL 6 to MemSQL 7
  • Made memsql-admin delete-backup faster by deleting multiple backups in parallel
  • Added cpuMemoryBandwidth collector and checker to memsql-report that measures CPU-memory bandwidth on each host and confirms that both bandwidth and latency are within acceptable limits
  • Added --include-performance flag to memsql-report collect and memsql-report check that is required to run performance checks for a cluster
  • Displays a detailed error message when the memsql-toolbox-config register-host and memsql-deploy setup-cluster commands are run with multiple localhosts

2020-04-20 version 1.5.1

  • Added new collectors and checkers to memsql-report collect and memsql-report check commands:
    • “memsqldProcessLimits” collects limits for all memsqld processes
    • “chronydStatus” collects the status of the chronyd service
    • “chronydDisabled” checks that chronyd is disabled
    • “partitionsStart” collects information about each partition’s start sector number
    • “partitionsConsistency” checks that all partition start sectors are consistent
    • “cpuThreadingInfo” collects information about CPU threading configuration
    • “cpuHyperThreading” checks that all CPUs have hyperthreading enabled
    • “cpuFreqInfo” collects information about CPU frequency configuration
    • “cpuFreqPolicy” checks that all CPUs have power save disabled and turbo mode enabled
  • Fixed a bug where the ulimit checker reports FAIL even when set correctly for the memsql user
  • Displays a more meaningful error message when region or endpoint_url is missing in a backup command
  • Fixed a bug where memsql-report collect fails if some node IDs could not be read
  • Fixed a bug where memsql-deploy upgrade --online fails to upgrade from MemSQL version 7.0.15
  • Added “region” to the backup functionality help examples

2020-04-06 version 1.5.0

  • Added functionality for backup management:
    • memsql-admin create-backup - backup one or more databases to a repository
    • memsql-admin delete-backup - delete a backup
    • memsql-admin list-backups - list all the latest backups
    • memsql-admin restore-backup - restore a database from a backup
    • memsql-admin summarize-backups - print summary information for backups
    • memsql-admin validate-backup - verify that a backup is correct
  • Fixed a bug where memsql-deploy setup-cluster fails if the cluster configuration file contains skip_install:true
  • Added a check to memsql-deploy setup-cluster that prevents nodes from sharing the same folder on a host when specified in a cluster configuration file

2020-03-23 version 1.4.4

  • Added computation of a “fingerprint” for each host to avoid adding the same host multiple times under a different name.
  • Added --online flag for memsql-deploy upgrade that runs online upgrade for MemSQL.
  • Fixed a bug where detectCrashStackTraces check displayed warnings if the memsqlStacks.files.json file was absent.
  • Improved error message for memsql-deploy setup-cluster when the path to the source file is incorrect.
  • Added toolboxConfig collector to memsql-report collect that saves the Toolbox’s configuration to a report file.
  • Added a host collector to memsql-report collect that saves each host’s description to a report file.
  • Fixed a bug where memsql-admin enable-high-availability does not request the correct privilege.
  • Added a snapshot retry before upgrade if a database is re-provisioning.
  • Removed extra escape characters in log outputs to make verbose logs more readable.

2020-03-09 version 1.4.3

  • Improved command memsql-deploy upgrade:
    • Added a disk space check and a database snapshot is taken before an upgrade is started.
    • Added cleanup steps in case of an unsuccessful upgrade.
  • Added memsql-admin put-file command that copies a file to the same path on all hosts.
  • Fixed a bug where memsql-admin stop-node --all --force did not stop any nodes if one node was unavailable.
  • Stopped producing messages if no action will be taken by a command.
  • Fixed a bug where memsql-deploy upgrade did not wait for the database to restart after an upgrade is finished.
  • Fixed a bug in memsql-admin enable-high-availability where the command does not work correctly if two leaf nodes on the same host have different hostnames.
  • Added an additional check to memsql-report that ensures all cluster hosts have SSD drives.
  • Added --validate-env option to memsql-report that will validate if MemSQL can be installed.

2020-02-11 Version 1.4.2

  • Improved the prompt message that is displayed when upgrading databases to the new replication modes in MemSQL 7.0.
  • Improved the speed of health checks that are performed on columnstore tables during upgrades.
  • Improved the way memsql-deploy upgrade waits for node recovery.
  • Fixed a bug where memsql-toolbox-config is not able to resolve a state file but returns incorrect error.
  • Fixed a bug where memsql-deploy downloaded the package twice for online upgrade.
  • Fixed the behavior of disk checks before upgrade: always fail upgrade if there is not enough space, show success message on success only.
  • Fixed a bug where toolbox commands did not close the environment after a command failure.
  • Added command-line flag checks to memsqlctl client.
  • Added possibility to set MaxSSHSessionsPerHost parameter with command line (--ssh-max-sessions) or config file.
  • Fixed bug where the memsql-deploy setup-cluster --cluster-file <cluster-file> command returns nodes with Unknown role.

2019-11-25 Version 1.4.1

  • Fixed a bug where all Toolbox commands were not able to pass the --parallelism flag.
  • Fixed a bug where running memsql-deploy upgrade without any flags would perform a rolling restart on the cluster.
  • Fixed a bug where the user would always be prompted for changes to the replication mode of the databases, instead of only being asked when upgrading to MemSQL 7.0.

2019-11-19 Version 1.4.0

  • Updated memsql-deploy to support upgrade to MemSQL 7.0
  • Added TSV based output for some memsql-report collectors.
  • Fixed a bug where memsql-report check fails to check for blocked queries with time 0.
  • Updated memsql-admin update-config --set-global to automatically run on the Master Aggregator.
  • Updated the securityLimits collector to include the output of /etc/security/limits.d and /proc/PID/limits
  • Updated the numactl checker to check if the sum of numa node memory capacity exceeds machine memory capacity.
  • Added new collectors to memsql-report collect:
    • top
    • informationSchemaMvBackupHistory
  • Added new checkers to memsql-report check:
    • orphanTables

2019-10-09 Version 1.3.0

  • Added support for memsql-deploy setup-cluster to accept a YAML file with cluster configurations.
  • Fixed a bug where memsql-report exits with a status of 0 if it fails.
  • Fixed a bug that caused the output of memsql-report collect to be not parsable by memsql-report check
  • Added new collectors to memsql-report collect:
    • uptime
    • shutdownTime
    • rebootTime
  • Added new checkers to memsql-report check:
    • tracelogOOM
    • tracelogOOD
    • explainRebalancePartitionsChecker
    • longRunningQueries
    • detectCrashStackTraces
    • defaultVariables
  • Updated the checkers defaultKeepaliveSettings and defaultHeartbeatSettings to be part of defaultVariables checker

2019-09-03 Version 1.2.3

  • Fixed a bug where the output of memsql-report collect could be missing information.

2019-08-06 Version 1.2.2

  • Added support for rootless memsql-server installs using tar-based packages.
  • Added the --role flag to memsql-admin start-node to start the nodes by role.
  • Added the --role flag to memsql-admin stop-node to stop the nodes by role.
  • Added the Bind Address column to memsql-admin list-nodes output.
  • Updated memsql-admin delete-node to remove leaves and child aggregators from the cluster before deleting them.
  • Updated the sort order for memsql-admin list-nodes to be consistent with other commands.
  • Improved the readability of the License Expiration field in memsql-admin show-license.
  • Fixed a bug that caused the schema collector in memsql-report collect to not collect procedures from memsql-server version 6.7.11 and above.
  • Added new collectors to memsql-report collect:
    • explainRestoreRedundancy
    • explainRebalancePartitions
    • showClusterStatus
  • Added new checkers to memsql-report check:
    • delayedThreadLaunches

2019-04-22 Version 1.1.1

  • Added the --stop flag to memsql-admin delete-node to stop the nodes before deleting them.
  • Added the --host, --port, --user, and --password flags to memsql-admin query for querying a node directly.
  • Added new checkers to memsql-report check:
    • disconnectedReplicationSlaves
    • interpreterMode
    • leafAverageRoundtripLatency
    • runningBackup
    • secondaryDatabases
    • validLicense
  • Updated checkers in memsql-report check:
    • blockedQueries also looks for sleeping threads with open transactions
    • offlineLeaves renamed to leavesNotOnline
  • Added table-based output for some memsql-report collectors.
  • Shortened the filenames inside a cluster report to avoid name length limits in archive files.

2019-03-19 Version 1.1.0

  • Fixed a bug that prevented NOPASSWD sudo from being considered passwordless sudo.
  • Added the memsql-admin query command.
  • Added more properties to memsql-admin list-nodes and memsql-admin describe-node.
  • Removed the swappiness checker. The setting it checked is not required by MemSQL 6.7.
  • Updated the informationSchemaPipelines collector to include information_schema.PIPELINES_CURSORS and information_schema.PIPELINES_FILES.
  • Added new collectors to memsql-report collect:
    • explainOrphanDatabases
    • informationSchemaMvQueries
    • licenseMetadata
  • Added new checkers to memsql-report check:
    • defaultHeartbeatSettings
    • defaultKeepaliveSettings
    • defaultWorkloadManagement
    • defunctProcesses
    • duplicatePartitionDatabase
    • failedCodegen
    • offlineAggregators
    • offlineLeaves
    • pendingDatabases
    • queuedQueries
    • userDatabaseRedundancy
    • versionHashes
  • Updated the report format to include the source paths of copied files.
  • Updated the env commands to include the resolved configFile location.

2019-01-08 Version 1.0.6

  • Updated memsql-deploy cluster-in-a-box to set passwords that are required by memsqlctl create-node starting in MemSQL 6.7.8.
  • memsql-admin create-node now requires the --password flag.
  • Added the --base-install-dir flag to memsql-admin create-node.
  • Updated memsql-report collect --only to also include the memsqlctlInfo collector by default.
  • Added a safety check to memsql-deploy setup-cluster that prevents enabling High Availability with an odd number of leaves.
  • Added the --skip-disk-check flag to memsql-admin enable-high-availability.

2018-12-04 Version 1.0.5

  • Added support for advanced usage of memsql-admin register-node.

2018-12-04 Version 1.0.4 (internal only)

  • Added the attempted command string to error messages due to failed command execution.
  • Added support for running commands as a Linux user that is part of an unnamed group.
  • Fixed a bug in memsql-deploy install that improperly failed the installation if it was unable to add the target user to the memsql Linux group.
  • Added support for advanced memsqlctl configuration to memsql-report collect-local.
  • Reduced spurious errors from memsql-report check when memsqlctl is not installed on the target hosts.
  • Added support for changing the SQL root password on all nodes in the cluster with memsql-admin change-root-password.

2018-11-27 Version 1.0.3

  • Added advanced memsqlctl configuration flags to memsql-toolbox-config register-host.
  • Enabled parallelism for memsql-report collect.
  • Added the report file path to the output of memsql-report collect and memsql-report collect-local.
  • Fixed a bug in memsql-admin confirmation messages that incorrectly implied the use of --password when it was not used.

2018-11-20 Version 1.0.2

  • Fixed bug preventing the use of memsql-admin update-config --all.
  • Added “host” field to memsql-admin describe-node output.
  • Fixed a bug in memsql-deploy list-versions when there are no hosts registered.
  • Changed permissions logic to use memsqlctl configuration to determine the correct user and group for remote commands.

2018-11-09 Version 1.0.1

  • Fixed bug causing Toolbox to assume passwordless sudo if there were cached sudo credentials in the current session.

2018-11-06 Version 1.0.0

  • Initial release of memsql-toolbox.